ConoHa WINGでWordPressがリダイレクトループしたときの対処法

/

ConoHa WINGにWordPressを移行した際、管理画面でリダイレクトループが発生しました。SSL環境でよく起きる問題で、wp-config.phpに数行追加するだけで解決できます。

環境

  • ConoHa WING
  • WordPressをルートではなく/app以下に配置
  • SSL(https)を適用済み

原因:リバースプロキシ環境でのSSL判定

ConoHa WINGに限らず、リバースプロキシやロードバランサーを経由している環境では、WordPressがHTTPSアクセスを正しく検出できないことがあります。

具体的には:

  1. ブラウザ → ConoHaのプロキシ(HTTPS) → WordPress(HTTP)
  2. WordPressは$_SERVER['HTTPS']を見て「HTTPだ」と判断
  3. HTTPSへリダイレクト → またHTTPと判断 → リダイレクト → ループ

ConoHa WINGでは、SSLを適用するとhttp→httpsのリダイレクトが上位ディレクトリで自動的に処理されるため、.htaccessに自分でリダイレクトルールを書くと二重リダイレクトになる可能性もあります。

解決方法

wp-config.phpのDB接続情報より下に、以下を追加します。

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

何をしているのか

  • FORCE_SSL_ADMIN — 管理画面を強制的にHTTPS化
  • HTTP_X_FORWARDED_PROTO — プロキシが付与するヘッダーを確認し、元のリクエストがHTTPSだった場合に$_SERVER['HTTPS']を手動でonにする

これにより、WordPressがリバースプロキシ越しでもHTTPSアクセスを正しく認識できるようになります。

確認ポイント

修正後、以下を確認してください。

  • 管理画面(/wp-admin/)に正常にアクセスできる
  • フロントページが正常に表示される
  • .htaccessに手動で書いたHTTPSリダイレクトルールがあれば削除する(ConoHa側で自動処理されるため)

この問題が起きやすいケース

  • ConoHa WING、エックスサーバー、さくらなどリバースプロキシを使っているレンタルサーバー全般
  • WordPressをサブディレクトリに配置している場合
  • SSL証明書を後から適用した場合

同じ症状で困っている方は、まずwp-config.phpへの追記を試してみてください。