【ブログ・サイト運営者向け】ERR_TOO_MANY_REDIRECTSを解決「ページを開けません。多くのリダイレクトが発生しています」
httpからhttpsへの常時SSL化の対応をしていた時に.htaccessにhttpでアクセスされたときにhttpsへリダイレクトするように以下の処理を追加したところ、エラーがでました。
追加した.htaccessの処理
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
エラー
safariブラウザ(iPhone)にて以下のエラーが発生しました。
エラーコード:ERR_TOO_MANY_REDIRECTS
エラー内容:ページを開けません。多くのリダイレクトが発生しています
解決した対応策
以下の通り.htaccessの追加した処理を変更しました。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
原因は追及していませんが、どうやらRewriteCondで%{HTTPS} offの条件を指定するとリダイレクトループがかかる模様。RewriteCond %{SERVER_PORT} !^443$に変更することで、サイトにアクセス可能なことや、httpからhttpsへの常時切り替えが正常に動作することを確認できました。