0

这是背景。

我需要在两台服务器上部署相同的 Drupal 网站。第一个是用于互联网访问,我们不希望有任何 Drupal 登录,即使是管理员也不行。

第二台服务器在我们组织的内部网络上,这台服务器上的 Drupal 网站只是普通的。

在第一台服务器上配置/修改 Drupal 的优雅方法是什么?

对我来说,对于互联网 Drupal,http://myorg.com/user 之类的链接仍然有效,但应该没有表格是可以接受的。如果我想这样做,我需要修改哪些文件以及如何修改?

另一种解决方案可能是无需对 Drupal 进行任何配置/修改,第一台服务器可以进行重定向,并且任何http://myorg.com/user都将被重定向到另一个页面。这是可行的吗?如何?

我使用的是 Drupal 7,服务器环境是 Unix。

非常感谢您的任何意见!

4

2 回答 2

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;
}
于 2012-05-09T17:09:01.913 回答
1

Bright Plum 建议的替代方法是您可以修改 .htaccess。禁止所有 /admin 路径和 /user 路径。

不过Bright Plum回答的方式可能会好一点。因为它允许您在两台服务器(使用不同的数据库)上拥有相同的代码,在第一个服务器上启用您的模块,而在第二台服务器上您从不启用它)。

希望有帮助。

于 2012-05-09T19:36:16.187 回答