WordPressテスト環境をConoHaWINGに引っ越し後、リダイレクトループが発生する原因と対処法

WordPressサイトのテスト環境をエックスサーバーからConoHaWINGに引っ越し作業を行った後、サイトを表示してみると “ERR_TOO_MANY_REDIRECTS” とリダイレクトループのエラーが出て正常に表示することが出来ませんでした。

エラー確認(Chromeで確認)

サイトにSSLを導入していると以下のようなリダイレクトループのエラーが発生します。

リダイレクトループのエラー

メッセージ

このページは動作していません

example.com でリダイレクトが繰り返し行われました。

Cookie を消去してみてください.

ERR_TOO_MANY_REDIRECTS

原因

ConoHa WING はサーバー変数($_SERVER)の “HTTPS” が取得出来ないためSSL導入サイトの場合には独自に設定をしてあげる必要があるようです。

サーバー変数($_SERVER)確認

array(56) {
  ["LSPHP_ENABLE_USER_INI"]=>
  string(2) "on"
  ["PATH"]=>
  string(28) "/usr/local/bin:/usr/bin:/bin"
  ["TEMP"]=>
  string(4) "/tmp"
  ["TMP"]=>
  string(4) "/tmp"
  ["TMPDIR"]=>
  string(4) "/tmp"
  ["PWD"]=>
  string(1) "/"
  ["HTTP_ACCEPT"]=>
  string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
  ["HTTP_ACCEPT_ENCODING"]=>
  string(17) "gzip, deflate, br"
  ["HTTP_ACCEPT_LANGUAGE"]=>
  string(23) "ja,en-US;q=0.7,en;q=0.3"
  ["HTTP_AUTHORIZATION"]=>
  string(22) "Basic aHVtb3VyOnR1cA=="
  ["CONTENT_LENGTH"]=>
  string(1) "0"
  ["HTTP_COOKIE"]=>
  string(48) "uk5e61cdc56fbe2=29f0bf17dda82e5f719940b294fc42a7"
  ["HTTP_HOST"]=>
  string(21) "example.com"
  ["HTTP_PRAGMA"]=>
  string(8) "no-cache"
  ["HTTP_USER_AGENT"]=>
  string(78) "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0"
  ["HTTP_CACHE_CONTROL"]=>
  string(8) "no-cache"
  ["HTTP_X_REAL_IP"]=>
  string(15) "192.168.0.1"
  ["HTTP_X_FORWARDED_PROTO"]=>
  string(5) "https"
  ["HTTP_X_FORWARDED_HOST"]=>
  string(21) "example.com"
  ["HTTP_X_FORWARDED_PORT"]=>
  string(3) "443"
  ["HTTP_UPGRADE_INSECURE_REQUESTS"]=>
  string(1) "1"
  ["HTTP_GEOIP_ADDR"]=>
  string(15) "192.168.0.1"
  ["HTTP_GEOIP_CONTINENT_CODE"]=>
  string(2) "AS"
  ["HTTP_GEOIP_COUNTRY_CODE"]=>
  string(2) "JP"
  ["HTTP_GEOIP_COUNTRY_NAME"]=>
  string(5) "Japan"
  ["UNIQUE_ID"]=>
  string(27) "XruZVtKo5fxCzTbd5QRlVgAAAL0"
  ["GEOIP_ADDR"]=>
  string(15) "192.168.0.1"
  ["GEOIP_CONTINENT_CODE"]=>
  string(2) "AS"
  ["GEOIP_COUNTRY_CODE"]=>
  string(2) "JP"
  ["GEOIP_COUNTRY_NAME"]=>
  string(5) "Japan"
  ["SERVER_SIGNATURE"]=>
  string(0) ""
  ["SERVER_SOFTWARE"]=>
  string(6) "Apache"
  ["SERVER_NAME"]=>
  string(21) "example.com"
  ["SERVER_ADDR"]=>
  string(9) "127.0.0.1"
  ["SERVER_PORT"]=>
  string(4) "8080"
  ["REMOTE_ADDR"]=>
  string(15) "192.168.0.1"
  ["DOCUMENT_ROOT"]=>
  string(48) "/home/cXXXXXXX/public_html/example.com"
  ["REQUEST_SCHEME"]=>
  string(4) "http"
  ["CONTEXT_PREFIX"]=>
  string(0) ""
  ["CONTEXT_DOCUMENT_ROOT"]=>
  string(48) "/home/cXXXXXXX/public_html/example.com"
  ["SERVER_ADMIN"]=>
  string(14) "root@localhost"
  ["SCRIPT_FILENAME"]=>
  string(57) "/home/cXXXXXXX/public_html/example.com/test.php"
  ["REMOTE_PORT"]=>
  string(5) "28576"
  ["SERVER_PROTOCOL"]=>
  string(8) "HTTP/1.1"
  ["REQUEST_METHOD"]=>
  string(3) "GET"
  ["QUERY_STRING"]=>
  string(0) ""
  ["REQUEST_URI"]=>
  string(9) "/test.php"
  ["SCRIPT_NAME"]=>
  string(9) "/test.php"
  ["SITE_GUARD"]=>
  string(3) "off"
  ["REMOTE_USER"]=>
  string(6) "analyzegear"
  ["AUTH_TYPE"]=>
  string(5) "BASIC"
  ["PHP_AUTH_USER"]=>
  string(6) "analyzegear"
  ["PHP_AUTH_PW"]=>
  string(3) "xxxxxx"
  ["PHP_SELF"]=>
  string(9) "/test.php"
  ["REQUEST_TIME_FLOAT"]=>
  float(1589352790.0336)
  ["REQUEST_TIME"]=>
  int(1589352790)
}

対処法

.htaccess でサーバー変数 “HTTPS” 設定

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

wp-config.php でサーバー変数 “HTTPS” 設定

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

“HTTPS” 設定後のサーバー変数($_SERVER)確認

“HTTPS”の追加を確認

["HTTPS"]=>
string(2) "on"

$_SERVER すべてを var_dump() で出力

array(57) {
  ["LSPHP_ENABLE_USER_INI"]=>
  string(2) "on"
  ["PATH"]=>
  string(28) "/usr/local/bin:/usr/bin:/bin"
  ["TEMP"]=>
  string(4) "/tmp"
  ["TMP"]=>
  string(4) "/tmp"
  ["TMPDIR"]=>
  string(4) "/tmp"
  ["PWD"]=>
  string(1) "/"
  ["HTTP_ACCEPT"]=>
  string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
  ["HTTP_ACCEPT_ENCODING"]=>
  string(17) "gzip, deflate, br"
  ["HTTP_ACCEPT_LANGUAGE"]=>
  string(23) "ja,en-US;q=0.7,en;q=0.3"
  ["HTTP_AUTHORIZATION"]=>
  string(22) "Basic aHVtb3VyOnR1cA=="
  ["CONTENT_LENGTH"]=>
  string(1) "0"
  ["HTTP_COOKIE"]=>
  string(48) "uk5e61cdc56fbe2=29f0bf17dda82e5f719940b294fc42a7"
  ["HTTP_HOST"]=>
  string(21) "example.com"
  ["HTTP_PRAGMA"]=>
  string(8) "no-cache"
  ["HTTP_USER_AGENT"]=>
  string(78) "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0"
  ["HTTP_CACHE_CONTROL"]=>
  string(8) "no-cache"
  ["HTTP_X_REAL_IP"]=>
  string(15) "192.168.0.1"
  ["HTTP_X_FORWARDED_PROTO"]=>
  string(5) "https"
  ["HTTP_X_FORWARDED_HOST"]=>
  string(21) "example.com"
  ["HTTP_X_FORWARDED_PORT"]=>
  string(3) "443"
  ["HTTP_UPGRADE_INSECURE_REQUESTS"]=>
  string(1) "1"
  ["HTTP_GEOIP_ADDR"]=>
  string(15) "192.168.0.1"
  ["HTTP_GEOIP_CONTINENT_CODE"]=>
  string(2) "AS"
  ["HTTP_GEOIP_COUNTRY_CODE"]=>
  string(2) "JP"
  ["HTTP_GEOIP_COUNTRY_NAME"]=>
  string(5) "Japan"
  ["UNIQUE_ID"]=>
  string(27) "XruZbBMF3c5oLeqdsUL0@AAAAG8"
  ["GEOIP_ADDR"]=>
  string(15) "192.168.0.1"
  ["GEOIP_CONTINENT_CODE"]=>
  string(2) "AS"
  ["GEOIP_COUNTRY_CODE"]=>
  string(2) "JP"
  ["GEOIP_COUNTRY_NAME"]=>
  string(5) "Japan"
  ["SERVER_SIGNATURE"]=>
  string(0) ""
  ["SERVER_SOFTWARE"]=>
  string(6) "Apache"
  ["SERVER_NAME"]=>
  string(21) "example.com"
  ["SERVER_ADDR"]=>
  string(9) "127.0.0.1"
  ["SERVER_PORT"]=>
  string(4) "8080"
  ["REMOTE_ADDR"]=>
  string(15) "192.168.0.1"
  ["DOCUMENT_ROOT"]=>
  string(48) "/home/cXXXXXXX/public_html/example.com"
  ["REQUEST_SCHEME"]=>
  string(4) "http"
  ["CONTEXT_PREFIX"]=>
  string(0) ""
  ["CONTEXT_DOCUMENT_ROOT"]=>
  string(48) "/home/cXXXXXXX/public_html/example.com"
  ["SERVER_ADMIN"]=>
  string(14) "root@localhost"
  ["SCRIPT_FILENAME"]=>
  string(57) "/home/cXXXXXXX/public_html/example.com/test.php"
  ["REMOTE_PORT"]=>
  string(5) "30794"
  ["SERVER_PROTOCOL"]=>
  string(8) "HTTP/1.1"
  ["REQUEST_METHOD"]=>
  string(3) "GET"
  ["QUERY_STRING"]=>
  string(0) ""
  ["REQUEST_URI"]=>
  string(9) "/test.php"
  ["SCRIPT_NAME"]=>
  string(9) "/test.php"
  ["SITE_GUARD"]=>
  string(3) "off"
  ["HTTPS"]=>
  string(2) "on"
  ["REMOTE_USER"]=>
  string(6) "analyzegear"
  ["AUTH_TYPE"]=>
  string(5) "BASIC"
  ["PHP_AUTH_USER"]=>
  string(6) "analyzegear"
  ["PHP_AUTH_PW"]=>
  string(3) "xxxxxx"
  ["PHP_SELF"]=>
  string(9) "/test.php"
  ["REQUEST_TIME_FLOAT"]=>
  float(1589352812.4079)
  ["REQUEST_TIME"]=>
  int(1589352812)
}

コメント

  1. ayumu より:

    情報ありがとうございます、助かりました。

タイトルとURLをコピーしました