schedule2019-01-18

設定をミスしてリダイレクトループが起きた話 | Netlify

このブログはNetlifyというホスティングサービスで動いています。 設定ミスからリダイレクトループを起こしてしまったため、 ERR_TOO_MANY_REDIRECTSが起きる事例として書き留めます。

このエラーは初めて見ました。 せっかくなので他の要因についても予習してまとめます。

繰り返しリダイレクトで接続できない

2019/01/18 にリダイレクト設定をいじったところ下のようなエラーがでて接続できなくなった。

error

どうやらリダイレクトが繰り返し行われたため、エラーが返ってきたらしい。 その時の設定がこちら。

# Redirect default Netlify subdomain to primary domain
https://www.suzu6.net/* https://www.suzu6.net/:splat 301!
# 記事の一覧へ
/posts           /tags/all 301!
# ブログの移行
/article/*  /posts/:splat  301!

2行目。。。まあ、そうなりますよね。 同じドメインの間でリダイレクトしあうようになっていました。

原因

https://suzu6-nuxt-blog.netlify.com/* https://www.suzu6.net/:splat 301!

もともと上のようにNetlifyのサブドメインからカスタムドメインへリダイレクトしていました。
原因は、ブログの内部リンクを一括変換したときにリダイレクトの設定ファイルも変更してしまったことです。 ローカル環境では問題がなく、本番環境へデプロイしてから気づきました。

VSCodeの機能でプロジェクト内全体のファイルに対して変換していた。 対策は、ディレクトリを絞って変換するように気をつける。

ERR_TOO_MANY_REDIRECTSに関して

せっかくなのでリダイレクトループに関してまとめます。

error

ERR_TOO_MANY_REDIRECTSが起きた時、Cookieを消去するよう指示を受けます。 今回の事例とは異なりますが、多くの要因はCookieに因るようです。

以下、要因をまとめようと調べましたが、なぜCookieがこのエラーを引き起こす要因は特定できませんでした。 対処方法は多く見つかります。

Amazonのページや、誤ったブラウザ拡張機能が原因である可能性での報告もあるようです。

解決方法

ブラウザの Cookieの削除、ページの履歴の削除を行うことで問題が解消します。 Cookieの削除う方法については、Cookieの削除方法で検索をすることで多くの削除方法が見つかりますので、ここでの説明方法は省略します

それでも解消しないときは?

サイトのリダイレクトの不具合分析には、無料のウェブツール Redirect Checker tool が使えます。リダイレクトのログを追うことができるため、原因の推定に役立ちます。

また、こちらの対策事例を参照してください。

まとめ

リダイレクトループするとエラーになる。 一括変換はフォルダを指定して影響範囲を制限する。

Netlifyでのリダイレクトの設定方法もどうぞ。

参考

リダイレクトループが原因で「ERR_TOO_MANY_REDIRECTS」「このページを表示できません」が出たときの対策12事例+α