メインコンテンツに移動
Drupalのモジュール(Views)で作成した一覧ページのURLに余分のパラメーター追加された対応
問題点:モジュール(Views)で作成した一覧ページのURLに余分なパラメーター(ページは存在しない)が追加してもページが表示されます
- 背景:Drupal7.55、Views7.x-3.16
- テストデータとして、記事(Article)データを50件作成しました
- Viewsで記事一覧ページ(URL: /articles )を作成します
- 記事一覧ページのURLの後ろに余分のパラメーターを追加(URL: /articles/ddd )しても、記事一覧が表示されます
- そもそも存在しないページなので、404(not found)ページを返すべき
解決:モジュール(Views)のコンテキスチュアルフィルターにある「グローバル:Null」で余分のパラメータを検出し、404ページを返す
- 初心者にはあまり気が付かない「グローバル:Null」フィルターがあります
- グルーバル:Nullで以下の設定をすれば余分のパラメータ検出ができ、404ページを返すことができます
- フィルターの値がURLに含まれていない場合: 指定されたフィールドの結果を全て表示する
- 検証の条件を指定 : 基本の検証
- 入力された値が検証に失敗した際に実行するアクション : ”ページを見つかりません”を表示
- 余分な引数が与えられたら検証を失敗にする チェックします