没有特定节点ID的http://site/node列出每个节点,其中一些是私人用户消息,等等。如何限制对此路径的访问?它不应该触发404吗?
答案 0 :(得分:1)
要限制对http://example.com/node的访问,您可以创建非常小而简单的自定义模块。有关如何创建简单模块的简单说明,请访问http://drupal.org/node/416986。
将以下代码添加到.module文件将触发404(drupal_not_found
):
/**
* Implementation of hook_menu().
*/
function MODULENAME_menu() {
$items = array();
// Disable the default /node front page.
$items['node'] = array (
'title' => 'node',
'page callback' => 'drupal_not_found',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
请务必将“MODULENAME”替换为您为模块选择的名称。
答案 1 :(得分:1)
http://site/node
是Drupal网站的默认首页视图。
如果您想控制那里显示的内容,您可能希望使用Views和/或Panels。
正如@yitznewton所提到的,您还需要查看某种明确的访问控制 - 依赖于从不猜测URL的人是一种很快就会失败的技术。如果您使用CCK,则功能已经存在,等待您使用它们。否则,请在Drupal.org上进行搜索,以查看部分选项。
答案 2 :(得分:0)
这只是首页,至少在我的安装中;取消选中节点上的“提升到优先”,或修改page-front.tpl.php
此外,如果您的某些节点是私有的,则需要某种访问控制,或者可以通过尝试随机ID来访问节点