WordPressのリダイレクトループ修正

Nginx+Apache2のリバースプロキシ環境でWordPressの設定をする

FAQかもしれませんがNginx+Apache2のリバースプロキシ環境で愚直にWordPressのセットアップを行うと、多くの場合リダイレクトループが発生してページが表示できません。(ブラウザのエラーメッセージは「このウェブページにはリダイレクトループが含まれています」など)

WordPressのプログラム中で $_SERVER[‘HTTP_HOST’] を参照した時にプロキシサーバーのアドレスが返ってしまうことで、リダイレクト対象となってしまい元に戻ってもう一度処理。リダイレクト先からもう一度同じ処理。元に戻って…が繰り返されることが原因のようです。サーバー側のリダイレクト設定で問題解決する方法とWordPress側で解決する方法の2種類あり。

今回は科技研のメインページに倣ってWordPress側で処理することに。$_SERVER[‘HTTP_HOST’]に加えて問題発生しそうな3つの変数について以下のようにwp-config.phpで定義します。

$_SERVER[‘HTTP_HOST’] = $_SERVER[‘HTTP_X_FORWARDED_HOST’];
$_SERVER[‘REMOTE_ADDR’] = $_SERVER[‘HTTP_X_FORWARDED_FOR’];
$_SERVER[‘HTTPS’] = ‘on’;

この問題に気づくのに3時間ぐらいかかってしまったので、今後の備忘録として残しておきます。

ちなみに設定したのは以下のサイト。こちらもよろしくお願いします。

ダムツーリングのサイトイメージ

「WordPressのリダイレクトループ修正」への2件のフィードバック

  1. ピンバック: かぎけんご飯(2024年3月13日) - 科学技術部長は休憩中

  2. ピンバック: 水冷ハーレーのエンジン音を楽しむ | ダムツーリング

コメントは受け付けていません。