【ブログ・サイト運営者向け】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への常時切り替えが正常に動作することを確認できました。