ya.*_*eck 4 drupal module drupal-6
是否有一个模块可以用来禁用一些Drupal系统页面?例如,我想停用node,taxonomy/term/*,filter/tips.
我不确定是否有一个模块可以做到这一点,但为此编写自己的自定义模块并不困难.您只需要实现hook_menu_alter(并在更改代码后清除缓存).您可以选择返回"拒绝访问"页面或"未找到404":
<?php
function MODULENAME_menu_alter(&$items) {
// This will deny access to taxonomy/term/* for all users.
$items['taxonomy/term/%']['access callback'] = FALSE;
// This will completely remove filter/tips, resulting in a 404.
unset($items['filter/tips']);
}
?>
Run Code Online (Sandbox Code Playgroud)
如果您想了解有关编写Drupal模块的更多信息,请参阅http://drupal.org/developing/modules.
对我来说,这似乎更像是"一次性"配置.因此,我想知道是否有必要为您提供一个您在其中一条评论中请求的管理界面.
如果您正在使用Apache,则可以在站点的虚拟主机配置中包含以下指令:
<LocationMatch ^/taxonomy/term>
SetHandler server-status
Order Deny,Allow
Deny from all
</LocationMatch>
<LocationMatch ^/filter/tips>
SetHandler server-status
Order Deny,Allow
Deny from all
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)
这将拒绝访问这些URL.但是您需要确保没有URL别名的URL taxonomy/term/.否则,用户可以访问这些URL.
查看http://httpd.apache.org/docs/2.0/mod/core.html#locationmatch 和http://httpd.apache.org/docs/2.0/mod/core.html#location获取一些文档