目次
事象:リダイレクトループが発生
AWSで構築したサーバーにてWordPressで作成したサイトのドメインをSSL化したら、ERR_TOO_MANY_REDIRECTS
となり、リダイレクトループしてしまって管理画面に入れなくなった。
環境
AWS(Amazon Linux 2 、Apache)
WordPress5.03(作業時点での最新版)
WordPressの有料テーマを購入し、それを使用して新規メディアを作成していた。
ドメインを取得していなかったため、IPアドレスで開発を進めており、途中でIP(http://IPアドレス) から取得したドメイン(SSL対応済みのhttps://***)に変更するという作業を実施。
WordPressでの設定は、設定 > 一般設定 から
WordPress アドレス (URL)
サイトアドレス (URL)
の2箇所をIPアドレスから取得したドメインに変更したところ、リダイレクトループが発生。
対処方法
wp-config.phpのrequire_once(ABSPATH . 'wp-settings.php');
より前に以下コードを追記する。
これより前に書かないと、ダメなので注意。
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) { $_SERVER['HTTPS']='on'; }
対策をしないと、AWSでは80と443のリダイレクトがループしてしまうようだ(このへんはあまり詳しくないのだが…)