12 分で読めます
URL リダイレクトの確認方法とリダイレクトチェーンの読み方
URL リダイレクトの確認方法を、TrueURL、curl、デベロッパーツールを使って手順ごとに解説します。リダイレクトチェーンの各ホップの読み方や、ループ、長いチェーン、301 と 302 の混在といった問題の直し方も紹介します。
記事を読む無料のリダイレクトツール
ブラウザーに「リダイレクトが繰り返し行われました」と表示されるのは、サイトがブラウザーを同じ URL の間で循環させているためです。TrueURL はループが閉じるまでリダイレクトをたどり、関係するすべての URL を表示します。
Enter を押してチェック
Cloudflare のエッジは常に証明書を検証するため、この設定で検証を省略することはできません。証明書の問題は結果に表示されます。
最初のリクエストで送信されます(最大 16 KB)。Content-Type ヘッダーを指定しない限り、JSON のボディは application/json として、それ以外はフォームとして送信されます。
1〜50 の範囲で指定します。ブラウザーは 20 ホップで停止します。
サイトによっては、スマートフォン、クローラー、リンクプレビュー用ボットをそれぞれ異なる方法でリダイレクトします。
チェーン内のすべてのリクエストで送信されます。
カスタムヘッダーはありません。
このヘッダーを送信するには値を入力してください。ヘッダーの値は保存されません。
HTML ページ内の <meta http-equiv="refresh"> タグと Refresh ヘッダーをたどります。
ページのスクリプト内にある location.href = "…" のような、単純で無条件のリダイレクトをたどります。
設定はこのブラウザーに保存されます。Cookie、ヘッダーの値、POST ボディは保存されません。
リダイレクトループは、URL A が URL B にリダイレクトし、B が直接または他のホップを経由して A にリダイレクトし返すときに発生します。ブラウザーは 20 回ほどリダイレクトをたどった後、エラーを表示してあきらめます。Chrome と Edge では ERR_TOO_MANY_REDIRECTS(「リダイレクトが繰り返し行われました」)、Firefox では「ページの自動転送設定が正しくありません」(英語版では The page isn't redirecting properly)、Safari では Too many redirects occurred というエラーです。ループにはまったページを、検索エンジンはインデックスできません。
TrueURL は、リクエストしたすべての URL を、リクエストメソッドとその時点で保持している Cookie と一緒に記録します。あるホップが、同じ状態ですでにリクエストした URL に戻った場合、そのチェーンは決して終わらないため、結果ではループが閉じるホップを強調表示します。
TrueURL はブラウザーと同じように Cookie を保持するため、本物のループと通常の Cookie のやり取りを区別できます。後者は、サイトが Cookie を設定して同じ URL に一度だけ戻すケースです。1 周するごとに状態が変わる場合、チェーンは詳細設定の最大ホップ数(最大 50)に達するまで続きます。上限に達したチェーンも、たいていは終わりのないループです。たとえば、ホップごとに新しいクエリパラメーターを追加するループがこれに当たります。
www を付け、別のルール(多くは CMS やホスティングの管理画面の設定)がそれを外しています。Server、Via、CF-Ray、X-Powered-By など)を見て、CDN、ウェブサーバー、アプリケーションのどのレイヤーがリダイレクトを送信したかを特定します。12 分で読めます
URL リダイレクトの確認方法を、TrueURL、curl、デベロッパーツールを使って手順ごとに解説します。リダイレクトチェーンの各ホップの読み方や、ループ、長いチェーン、301 と 302 の混在といった問題の直し方も紹介します。
記事を読む20 回リダイレクトしても終わらないリダイレクトチェーンに対して Chrome が表示するエラー(「リダイレクトが繰り返し行われました」)です。原因はほぼ例外なくループで、サイトのリダイレクトルール同士が矛盾しています。上の入力欄で URL をチェックし、どの URL が繰り返されているかを確認してください。
はい。Cookie、言語、地域、デバイスに依存するループは、その条件に当てはまる訪問者にだけ発生します。このようなループは詳細設定で再現できます。Cookie、Accept-Language ヘッダー、モバイルの User-Agent を追加して、もう一度チェックしてください。ただし、訪問者の地域に依存するループは再現できません。リクエストは常に Cloudflare のネットワークから送信されるためです。
その場合、ループの原因は Cookie です。古い Cookie や矛盾する Cookie のせいで、サイトがリダイレクトを繰り返していたのです。Cookie を削除すれば状態はリセットされますが、同じ Cookie を受け取る訪問者には、引き続きこの不具合が発生します。詳細設定の Cookie 欄を使えば、ここで再現できます。
ブラウザーがログイン済みだったり、同意の Cookie を持っていたり、HSTS のエントリやキャッシュされたリダイレクトによってホップの 1 つを飛ばしていたりする可能性があります。TrueURL は、初めての訪問者やクローラーと同じく、Cookie も履歴もない状態から始めます。TrueURL でループが見つかった場合、サイトがデータセンターからのリクエストを別扱いしていない限り、新規の訪問者やクローラーもおそらく同じループに陥っています。
ループは、TrueURL が同じ状態ですでにリクエストした URL に戻ったことを意味し、そのチェーンは決して終わりません。最大ホップ数への到達は、完全な繰り返しがないまま、設定した回数のリダイレクトで停止したことを意味します。そのチェーンはいずれ終わるかもしれませんが、それほど長いチェーンはどちらにしても問題です。もっと先まで確認したい場合は、最大ホップ数を 50 まで引き上げられます。
はい。最もよくある原因の 1 つです。サーバーが HTTPS を強制しているのに CDN がサーバーと HTTP で通信している場合や、CDN とサーバーが www ありと www なしの間で逆方向にリダイレクトしている場合、すべてのリクエストが両者の間を行ったり来たりします。各ホップのレスポンスヘッダーを見れば、どのレイヤーが応答したかがわかります。