EdgeでWebサイトを開いたときに「ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION」というエラーが表示され、ページが表示されなくなることがあります。このエラーはサーバが返すHTTPレスポンスヘッダに問題があることが原因です。本記事では、このエラーの原因を解説し、サーバ管理者が実施すべきヘッダの検証と修正手順を詳しく説明します。これにより、正常なリダイレクト動作を取り戻せます。
【要点】ERR_RESPONSE_HEADERS_MULTIPLE_LOCATIONを解決するための3つのステップ
- Locationヘッダの重複確認: レスポンスにLocationヘッダが複数含まれていないかチェックします。
- リダイレクト設定の修正: サーバ設定ファイルやアプリケーションコードで重複を排除します。
- ブラウザキャッシュのクリア: 修正後にEdgeのキャッシュを削除して古いヘッダ情報を消去します。
ADVERTISEMENT
目次
ERR_RESPONSE_HEADERS_MULTIPLE_LOCATIONが発生する根本的な原因
このエラーは、HTTPレスポンスに複数のLocationヘッダが含まれている場合に発生します。Locationヘッダはリダイレクト先のURLを指定するために使われますが、ブラウザは1つのレスポンスに複数のLocationヘッダを許容しません。サーバ側の設定ミスやアプリケーションのバグで重複してしまうと、EdgeはどのURLにリダイレクトすべきか判断できず、エラーを表示します。
主な原因としては、以下のようなケースが考えられます。
- Webサーバ(Apache、Nginx、IISなど)の設定ファイルでリダイレクトルールが重複している
- アプリケーションフレームワーク(PHP、ASP.NET、Node.jsなど)で手動と自動のリダイレクトが競合している
- リバースプロキシやCDNが元のサーバと異なるLocationヘッダを追加している
これらの原因を特定し、修正することでエラーを解決できます。
サーバ側のLocationヘッダ重複を検証して修正する手順
エラーを解消するには、サーバから送信される実際のHTTPレスポンスを確認し、Locationヘッダが重複していないか検証する必要があります。以下の手順では、curlコマンドとブラウザの開発者ツールを使った検証方法を説明します。
手順1:curlでレスポンスヘッダを確認する
- curlコマンドを実行する
ターミナル(Windowsの場合はコマンドプロンプトまたはPowerShell)を開き、以下のコマンドを入力してEnterキーを押します。curl -I https://example.com/redirect-url
「-I」オプションでヘッダのみ表示します。 - Locationヘッダの行数を確認する
出力結果に「location:」という行が複数存在しないか確認します。2行以上ある場合は重複しています。 - 実際のレスポンスコードも確認する
ステータスコードが301または302であることを確認します。コードが異なる場合はリダイレクト設定自体を見直す必要があります。
手順2:Edgeの開発者ツールでネットワークタブを確認する
- Edgeを起動し、エラーが発生するページを開く
エラーページが表示された状態で、F12キーを押して開発者ツールを開きます。 - ネットワークタブを選択する
「ネットワーク」タブをクリックし、該当するリクエストを探します。 - レスポンスヘッダを表示する
該当リクエストをクリックし、右側の「ヘッダー」セクションで「Location」が1つだけかどうか確認します。
手順3:重複箇所を特定して修正する
- サーバ設定ファイルを確認する
Apacheの場合は.htaccessやhttpd.conf、Nginxの場合はnginx.conf、IISの場合はweb.configを開き、RedirectまたはRewriteのルールを確認します。 - アプリケーションコードを確認する
PHPやNode.jsなどでリダイレクト処理を実装している場合、header()関数やres.redirect()が重複していないか確認します。 - 重複を1つに統合する
複数のLocationヘッダを返す原因となっているルールやコードを削除または修正し、必ず1つのLocationヘッダだけが出力されるようにします。
修正後にEdgeのキャッシュをクリアして再テストする
サーバ側の修正が完了したら、Edgeのキャッシュが古い情報を保持している可能性があるため、キャッシュをクリアしてから再度アクセスします。
- Edgeの設定を開く
右上の「…」メニューから「設定」をクリックします。 - 「プライバシー、検索、サービス」を選択
左側のメニューから「プライバシー、検索、サービス」をクリックします。 - 「閲覧データをクリア」をクリック
「キャッシュされた画像とファイル」にチェックを入れ、「今すぐクリア」ボタンをクリックします。
キャッシュクリア後、再度エラーページにアクセスし、正常に表示されることを確認します。
ADVERTISEMENT
それでもエラーが解決しない場合の追加チェック項目
CDNやリバースプロキシがLocationヘッダを追加していないか
CloudFlareやAWS CloudFrontなどのCDNを使用している場合、CDN側でリダイレクトルールが設定され、元のLocationヘッダと重複することがあります。CDNの管理画面でリダイレクト設定を確認し、不要なルールを削除します。
同一オリジン内でのリダイレクトループ
複数のリダイレクトが連鎖し、最終的に同じ場所に戻ってくるループが発生しているケースもあります。この場合、リダイレクト先が正しいかどうかを確認し、無限ループを防ぐために適切な条件分岐を追加します。
ブラウザの拡張機能が干渉していないか
一部の拡張機能がリダイレクトをブロックしたり、ヘッダを改変する可能性があります。拡張機能をすべて無効にしてからアクセスし、問題が改善するか試します。
リダイレクト方式ごとの特徴比較
| 項目 | 301リダイレクト | 302リダイレクト | メタリフレッシュ |
|---|---|---|---|
| HTTPステータスコード | 301 Moved Permanently | 302 Found | 200(HTML内でリダイレクト) |
| ブラウザキャッシュ | 恒久的にキャッシュされる | 通常キャッシュされない | HTMLがキャッシュされる |
| SEOへの影響 | リンク評価を移行する | 評価を移行しない | 評価が分散する可能性あり |
| 複数Locationヘッダ発生リスク | 低(設定ミスのみ) | 低 | 無し(Locationヘッダ不使用) |
まとめ
ERR_RESPONSE_HEADERS_MULTIPLE_LOCATIONエラーは、サーバが返すLocationヘッダが重複していることが原因で発生します。curlや開発者ツールでヘッダを確認し、サーバ設定やアプリケーションコードで重複を解消することで解決できます。CDNやプロキシの設定も忘れずに確認しましょう。本記事で紹介した手順を実施すれば、正常なリダイレクト動作を取り戻せます。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Windows・PCの人気記事ランキング
- 【Edge】起動時や新しいタブを「Google」にする設定!ニュースを消してシンプルにする方法
- 【直し方】F7でカタカナにならない!ファンクションキーが効かず音量などが変わる時のFnロック解除法
- 【Windows】標準アプリのショートカットアイコンが白い紙になった時の情報の更新
- 【Windows】「ゲーミングサービス」がインストールできない!Xboxアプリとの無限ループを脱出する修復コマンド
- 【Windows】デスクトップのアイコンが「白い紙」になった!アイコンキャッシュを削除して元に戻すコマンド
- 【Windows】パスワードなしで起動!PIN入力を省略して自動ログイン(サインイン)させる設定手順
- 【Windows】サブモニターが映らない!HDMIを挿しても「信号なし」になる時の認識・設定手順
- 【PC周辺】2台のモニターで壁紙を「別々」にする方法!Windows11での配置と調整
- 【Windows】音が出ない!スピーカーに×が付く・ミュート解除しても無音になる時の直し方5選
- 【Windows】デスクトップアイコンの「緑のチェック」は何?OneDriveの同期マークを非表示にする方法
