CODEMemorandum

【WordPress】リダイレクトループで管理画面に入れなくなった時の対応

お名前.comのレンタルサーバで、常時SSL化した後にWordPressをインストールしようとしたところ、CSSファイルや画像がhttpになって表示されない状態に。
そのまま強引にインストールしてみたところ、リダイレクトループが発生してダッシュボードにログインできなくなってしまいました。

wp-config.phpに追記する解決方法

インストールした直後なのでプラグインが悪さをしているわけではない、ということは確定なので、wp-config.php にHTTPS強制を有効化する記述を追記して解決しました。

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

.htaccessに追記する解決方法

.htaccessに以下を追記する方法もあるようですが、こちらは試していません。
また同じ現象が起こったときのために念のためメモ。

SetEnvIf X-Forwarded-Proto "https" HTTPS=on
SetEnvIf X-Forwarded-Proto "http$" HTTPS=off