这是背景。
我需要在两台服务器上部署SAME Drupal网站。第一个用于互联网访问,我们不希望任何Drupal登录,甚至不是管理员。
第二台服务器位于我们组织的内部网络上,此服务器上的Drupal网站只是常规服务器。
在第一台服务器上配置/修改Drupal的优雅方法是什么?
对我来说,对于互联网Drupal来说,像http://myorg.com/user这样的链接仍然有用,但是应该没有形式。如果我想这样做,我需要修改哪些文件以及如何修改?
另一个解决方案可能是没有Drupal的任何配置/修改,第一个服务器可以有重定向,任何http://myorg.com/user将被重定向到另一个页面。这可行吗?怎么样?
我使用的是Drupal 7,服务器环境是Unix。
非常感谢任何输入!
答案 0 :(得分:1)
Drupal中的任何路径都可以通过hook_menu_alter进行修改。
简单创建自定义模块,使用挂钩,并设置所需的路径(用户,用户/登录)拒绝访问。
您可以为用户设置禁止注册以禁用用户/注册的配置。
这些项目是一个数组,因此您只需添加属性“访问回调”并将其设置为FALSE。
function mymodule_menu_alter(&$items) {
//disable the user login paths
$items['user']['access callback'] = FALSE;
$items['user/login']['access callback'] = FALSE;
}
答案 1 :(得分:1)
Bright Plum建议的另一种选择是你可以修改.htaccess。禁止所有/ admin路径和/ user路径。
但Bright Plum回答的方式可能会好一些。因为它允许您在第一个服务器上使用相同的代码(使用不同的数据库),而在第二个服务器上启用模块,而在第二个服务器上,您永远不会启用它。)
希望有所帮助。