新しくインストールした機能的なWordPressをマルチサイトネットワークに変換しようとしています。しかし、私はApacheの設定が原因で問題を抱えています。
Apacheを使用して、domain.comに対する要求を2つのアプリケーションサーバーのうちの1つ、app1.domain.comまたはapp2.domain.comにランダムにリダイレクトします。問題は、現在のブラウザドメインがそれと異なる場合、WordPressがDOMAIN_CURRENT_SITE(wp-config.phpで定義)にリダイレクトすることです。これにより、310リダイレクトループが発生します。これは何が起こるかの例です:
私がやりたいのは、すべてのWordPressリンクとURLをdomain.comに設定し、WordPressにapp1.domain.comという事実を無視させることです。またはapp2.domain.comは実際に取得されています。これは可能ですか?
よくわからない場合のために、関連するApache confファイル(単純化されたもの)を次に示します。
application_servers.conf:
domain.com-prod-http app1.domain.com:80|app2.domain.com:80
httpd.conf:
RewriteMap server rnd:conf/application_servers.conf
RewriteRule ^/apps/*([^/]*)/*(.*) http://${server:domain.com-prod-http}/apps/$1/$2 [P,L,QSA]
数日間これに頭をぶつけた後、私はうまくいく解決策を見つけました。
以下をwp-config.phpに追加するだけです。
if ( isset( $_SERVER['HTTP_X_FORWARDED_Host'] ) ) {
$_SERVER['HTTP_Host'] = $_SERVER['HTTP_X_FORWARDED_Host'];
}
これにより、WordPressはプロキシドメインではなく、要求されたドメインを使用するようになります。