web-dev-qa-db-ja.com

マルチサイト作成時の「リダイレクトループ」

これに関連するいくつかの質問があることを知っていますが、私は答えることができませんでした。

同じDrupalコアファイルを参照する2つのWebサイトを開発したい

そう :

drupal1.example.comは/www/dev/sites/drupal1.example.comを指す必要がありますdrupal2.example.comは/www/dev/sites/drupal2.example.comを指す必要があります

  1. / www/dev /フォルダーを指すように両方のサブドメインを作成しました。
  2. Settings.phpをdrupal1.example.comに、default.settings.phpをdrupal2.example.comに配置しました
  3. Drupal2.example.comをロードすると、「リダイレクトループ」エラーが発生します。

私が間違っていることを知っていますか?

ありがとう!

回答:

私のsites/drupal2.example.comフォルダにsettings.phpファイルがないとき、それはdrupal1.example.comウェブサイトを示しました。

私のsites/drupal2.example.comフォルダにsettings.phpファイルがあると、無限ループが発生しました。

そのため、sites/drupal2.example.comフォルダーのsettings.phpを変更して別の空のデータベースに接続しましたが、「ベーステーブルまたはビューが見つかりません:1146」というエラーが発生し、更新時に別のエラーが発生しました「エラー:クラス」 SelectQueryExtender 'が見つかりません。

DBにテーブルがなかったため、インストーラーがDrupalの2番目のインスタンスをロードするのに苦労したようです。

そのため、DB#1をDB#2にインポートし、うまくいきました。 drupal2.example.comでテーマを変更できましたが、drupal1.example.comには古いテーマが残っていました。

唯一の欠点は、drupal2のコンテンツタイプ、ノード、メニューなどを削除する必要があることですが、少なくとも機能しています。

2
Axel

ApacheでServerNameServerAliasが適切に定義されていると仮定すると、.htaccessでデフォルトの正規URLリダイレクトが有効になっていると思います。これがすべてコメントアウトされていることを確認してください:

  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # uncomment the following:
  # RewriteCond %{HTTP_Host} !^www\. [NC]
  # RewriteRule ^ http://www.%{HTTP_Host}%{REQUEST_URI} [L,R=301]
  #
  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment the following:
  # RewriteCond %{HTTP_Host} ^www\.(.+)$ [NC]
  # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

また、同様のことをしている他のApacheルールがなく、モジュールがないことを確認してください(例: ドメインアクセス または モバイルツール )。またはリダイレクトを行うカスタムコード。

1
mpdonadio

共有ホスト上にいて、スクリプトでDrupal=をインストールした場合は、install.phpがドキュメントルートにあるかどうかを確認してください。

そうでない場合は、Drupalをダウンロードし、install.phpを抽出して、ドキュメントルートに配置します。これでサイトに移動すると、インストーラーが機能するはずです。

0
demel