【さくらのレンタルサーバー】htaccessでのリダイレクトループ回避
さくらのレンタルサーバーでHTTPSリダイレクトを.htaccessでさくら公式に従って記載しておりましたが、RSSが正常に取得できるか試してたら同一サーバーからのfile_get_contents(php)でエラーが発生しました
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:HTTPS} !^on$
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
エラーログ
failed to open stream: Redirection limit reached, aborting in xxx
リダイレクトループ回避策
リダイレクト回数の上限に達した場合のエラーになりますが、googleで解決策を検索みたらアクセス元のサーバーのIPアドレスでチェックして利用しているサーバーならリダイテクトルールから除外すれば良いとの記事を発見しました
https://masshiro.blog/sakura-ssl-redirect/
とりあえずそのまま.htaccessに加えてみたら無事file_get_contents(php)でリダイレクトループエラーとならずに取得できました
良い情報、ありがたいですね
.htaccess記述は以下の形式で問題なく正常なリダイレクトが可能でした
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:HTTPS} !^on$
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteCond %{REMOTE_ADDR} !=xxx.xx.xxx.xxx
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
ディスカッション
コメント一覧
まだ、コメントがありません