リダイレクトループとは、リダイレクトが循環的に繰り返される状態です。 URL A → URL B → URL A のように、リダイレクトが無限に繰り返され、ブラウザが「このページはリダイレクトが多すぎます (ERR_TOO_MANY_REDIRECTS) 」というエラーを表示します。
リダイレクトループが発生する主な原因は、リダイレクトルールの設定ミスです。たとえば、「 http を https にリダイレクト」と「 https を http にリダイレクト」の 2 つのルールが同時に存在する場合、 http → https → http → ... の無限ループが発生します。 CDN やロードバランサーの設定と Web サーバーの設定が競合するケースも多いです。
リダイレクトループの診断方法として、 curl コマンドの -L -v オプションでリダイレクトの経路を追跡できます。 Chrome DevTools の Network タブでも、リダイレクトの連鎖を視覚的に確認できます。
ブラウザはリダイレクトループを検出すると、通常 20 回程度のリダイレクトで処理を中断しエラーを表示します。ユーザーにとっては「ページが表示されない」という致命的な問題であり、発見次第即座に修正が必要です。短縮 URL サービスでは、リダイレクト先の URL が短縮 URL 自身を指していないかを登録時にチェックすることで、ループの発生を未然に防げます。関連書籍は Amazon でも探せます。