【WordPress/AWS】ドメインをSSL化したらリダイレクトループした時の対処法

当サイトのリンクには広告が含まれています。
目次

事象:リダイレクトループが発生

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のリダイレクトがループしてしまうようだ(このへんはあまり詳しくないのだが…)

目次