ノードのリストを表示しているデフォルトのフロントページを無効にしたい。別のフロントページを使用していますが、それでもexample.com/node
というURLに表示されます。アクセスを制限するか、フロントページにリダイレクトするのが良いでしょう。
私のホームページは現在/home
に設定されています(example.com/
にうまく書き換えられます)。今、私はすでにいくつかのことを試しました。
/admin/config/search/path
で、エイリアスをnode
からhome
に設定しました。example.com
とexample.com/node
の両方がexample.com/home
にリダイレクトされ、ノードリストが表示されます-私のフロントページは表示されません。node
から<front>
までのエイリアスを試してみました(それがそこでも有効かどうかはわかりません)。これはほとんど機能しており、/home
と/node
はどちらもexample.com
にリダイレクトして正しいページを表示しています。しかし、ノードリストは/<front>
で利用できます...node
と等しい場合にステータスコードを返すのは機能しませんでした。ページが/node/
でのみスラッシュでトリガーされるためです。もちろんパスは既に使用されているため、ノードパスだけのパネルを作成することはできません。では、example.com/node
のページを無効にするにはどうすればよいですか?
私の問題は、このノードリストがどのような種類のページかわからないことだと思います。私はそれがいくつかのユニークなページタイプであり、コアの奥深くに埋め込まれていて、簡単に無効にできないと感じています。
小さな カスタムモジュール を作成することに問題がなければ、 hook_menu_alter()
を使用して簡単に作成できます。
function MYMODULE_menu_alter(&$items) {
$items['node']['access callback'] = FALSE;
}
上記はページへのアクセスを拒否しますが、完全に削除したい場合は、代わりにこれを使用してください:
function MYMODULE_menu_alter(&$items) {
unset($items['node']);
}
この件についての議論があります here いくつかの他のアイデアがありますが、これが最も簡単だと思います。
Drupal.orgから Node Page Disable contribモジュールをインストールできます。
次に、「Retain/node as a active url?」ページ構成>システム>サイト情報(/admin/config/system/site-information
)
エイリアスをhome
(システムパス)からnode
(alias)に設定するだけで、現在機能しています。これは、私が以前に試したものの逆です。どちらのパスもexample.com
と正しい新しいフロントページを表示します。
とにかく、これはおそらくこのURLでシステムノードを単に「非表示にする」だけなので、アクセスを削除/拒否することがこれを処理するためのより良い方法かもしれません。