MeWrite Docs

ERR_TOO_MANY_REDIRECTS

リダイレクトループによりページが読み込めない場合のエラー

概要

ERR_TOO_MANY_REDIRECTSは、ブラウザがリダイレクトを繰り返し、無限ループに陥った場合に発生するエラーです。通常、20回以上のリダイレクトが検出されると表示されます。

エラーメッセージ

This page isn't working
example.com redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS

または

このページは動作していません
example.com でリダイレクトが繰り返し行われました。
Cookie を消去してみてください。
ERR_TOO_MANY_REDIRECTS

原因

  1. サーバー設定の問題: HTTPSリダイレクトの無限ループ
  2. Cookie設定の不整合: 認証Cookieによるリダイレクトループ
  3. CDN/ロードバランサー設定: SSL終端とバックエンド間の設定ミス
  4. WordPressプラグイン: リダイレクト系プラグインの競合

解決策

1. Cookieを削除(クライアント側)

Chrome:
1. 設定 > プライバシーとセキュリティ > Cookieと他のサイトデータ
2. すべてのCookieとサイトデータを表示
3. 該当サイトのCookieを削除

または DevTools (F12) > Application > Cookies > 右クリック > Clear

2. Nginx設定の確認

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 問題のある設定(ループの原因)
server {
    listen 80;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    # CDNがHTTPでアクセスする場合、再度80にリダイレクトされる
    if ($scheme = http) {
        return 301 https://$host$request_uri;
    }
}

# 修正版(X-Forwarded-Protoを確認)
server {
    listen 80;

    # CDN/ロードバランサー経由の場合
    if ($http_x_forwarded_proto = "http") {
        return 301 https://$host$request_uri;
    }

    # 直接アクセスの場合
    if ($http_x_forwarded_proto = "") {
        return 301 https://$host$request_uri;
    }
}

3. Apache (.htaccess) 設定の確認

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 問題のある設定
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# 修正版(既にHTTPSの場合はスキップ)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

4. CloudFlare使用時の設定

CloudFlareダッシュボード:
1. SSL/TLS > Overview
2. 暗号化モードを「Full」または「Full (strict)」に設定
   - 「Flexible」だとループの原因になる
3. Edge Certificates > Always Use HTTPS を確認

5. WordPress設定の確認

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// wp-config.php
// HTTPSを強制する場合
define('FORCE_SSL_ADMIN', true);

// リバースプロキシ経由の場合
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

// サイトURLの確認
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');

デバッグ方法

1
2
3
4
5
# リダイレクトチェーンを確認
curl -I -L -v https://example.com 2>&1 | grep -E "(Location:|HTTP/)"

# 詳細なリダイレクト追跡
curl -v -L --max-redirs 5 https://example.com

Browser の他のエラー

最終更新: 2026-01-27