0

これが背景です。

同じDrupalWebサイトを2台のサーバーにデプロイする必要があります。1つ目はインターネットアクセス用であり、管理者であっても、Drupalログインは必要ありません。

2番目のサーバーは組織の内部ネットワーク上にあり、このサーバー上のDrupalWebサイトは通常のサーバーです。

最初のサーバーで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パスを禁止します。

しかし、ブライトプラムが答える方法は少し良いかもしれません。これにより、両方のサーバー(データベースが異なる)で同じコードを使用できるため、最初のサーバーではモジュールを有効にし、2番目のサーバーでは決して有効にしません)。

お役に立てば幸いです。

于 2012-05-09T19:36:16.187 に答える