/ nodeパスのノード概要ページを無効にする


7

ノードのリストを表示しているデフォルトのフロントページを無効にしたい。別のフロントページを使用していますが、それでもURLに表示されexample.com/nodeます。アクセスを制限するか、フロントページにリダイレクトするのが良いでしょう。

現在、私のホームページはに設定されています/home(これはに正しく書き換えられますexample.com/)。今、私はすでにいくつかのことを試しました。

  • /admin/config/search/path、エイリアスをからnodeに設定しましたhome
    残念ながら、これはただの両方をリダイレクトが生じたexample.comexample.com/nodeexample.com/homeていない私のフロントページ-ノードリストを示します。
  • nodeto からエイリアスを試してみました<front>(それがそこでも有効かどうかはわかりません)。これはほとんど働いていた、/home/nodeの両方のリダイレクトexample.com右ページを示します。ただし、ノードリストは/<front>... で利用できます。
  • また、パネルを試し、ノードテンプレートのバリアントを作成しました。パスが等しいときにステータスコードを返すのは機能nodeしませんでした。ページが/node/スラッシュを付けてでのみトリガーされるためです。もちろんパスはすでに使用されているため、ノードパスだけのパネルを作成することはできません。
  • このリストへのアクセスを設定する権限がありません。

では、どうすればページを無効にできますexample.com/nodeか?
私の問題は、このノードリストがどのような種類のページかわからないことだと思います。私はそれがいくつかのユニークなページタイプであり、コアの奥深くに埋め込まれていて、簡単に無効にできないと感じています。

回答:


10

小さなカスタムモジュールを作成することに問題がなければ、次を使用して非常に簡単に作成できますhook_menu_alter()

function MYMODULE_menu_alter(&$items) {
  $items['node']['access callback'] = FALSE;
}

上記はページへのアクセスを拒否しますが、完全に削除したい場合は、代わりにこれを使用してください:

function MYMODULE_menu_alter(&$items) {
  unset($items['node']);
}

ここで他のいくつかのアイデアを使ってこのテーマに関する議論がありますが、これが最も簡単だと思います。


2

Drupal.orgからNode Page Disable contribモジュールをインストールできます。
次に、「構成/システム>サイト情報() 」ページの「アクティブなURLとして/ nodeを保持しますか?」のチェックを外します。/admin/config/system/site-informationノードページを無効にするスクリーンショット


1

homeシステムパス)からnodeエイリアス)へのエイリアスを設定したところ、現在は機能しています。これは、私が以前に試したものの逆です。どちらのパスも最終的にexample.com正しいフロントページを表示します。

とにかく、これはおそらくこのURLでシステムノードを「隠す」だけなので、アクセスを削除/拒否することがこれを処理するためのより良い方法かもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.