WordPress

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

AWSで構築したサーバーにてWordpRessで作成したサイトのドメインをSSL化したら、リダイレクトループしてしまったので、その時の対処法の忘備録。

ERR_TOO_MANY_REDIRECTS

Chromeにてこんなエラーが…
リダイレクトの無限ループが発生してしまったのです。

対象の環境状況

サーバーはAWS(Amazon Linux 2 、Apache)
WordPress5.03(この時点で最新版)

WordPressの有料テーマを購入し、それを使用して新規メディアを作成していた。

ドメインを取得していなかったため、IPアドレスで開発を進めており、途中でIP(http://IPアドレス) から取得したドメイン(SSL対応済みのhttps://***)に変更するという作業を実施。

WordPressでの設定は、設定 > 一般設定 から

WordPress アドレス (URL)
サイトアドレス (URL)


の2箇所をIPアドレスから取得したドメインに変更する。

だけでいいはずなんだが、、

管理画面に入れなくなった

 管理画面にログインしようとすると、
ERR_TOO_MANY_REDIRECTSとなって入れない。

設定を戻したら入れるので、SSL化が原因の模様。
というかAWSのポート設定で80と443のリダイレクトがループしていたようだ(このへんはあまり詳しくないのだが…)

対処法

wp-config.phpに以下を追記するだけ。

if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
       $_SERVER['HTTPS']='on';
}

参考サイト
> AWSでWordPressをSSL化した際にリダイレクトループを回避する方法

しかし、「このページにアクセスする権限がありません。」と表示され、まだ管理画面に入れない・・・

調べたら記載する位置が悪かった。

require_once(ABSPATH . ‘wp-settings.php’);
より上に書かないとダメなよう。


参考サイト
>【WordPress】SSL対応を行った後、管理画面で「このページにアクセスする権限がありません。」が表示された時の対応

修正したら、無事にアクセスできました!!

めでたしめでたし。

まとめ

AWSで構築したサーバーにてWordpRessのドメインをSSL化したら、リダイレクトループ対策が必要。

wp-config.php内の
require_once(ABSPATH . ‘wp-settings.php’); より上に、リダイレクト対策用のコードを記載する。

ABOUT ME
アヤカ
時間と場所に縛られない生き方をしたくてフリーランスになった人。WordPressを中心にWebサイト制作などをやってるwebクリエイター。