前提・実現したいこと
さくらインターネットのスタンダードプランでサイトを作成しております。
①http://hogehoge.jp/
②http://www.hogehoge.jp/
③https://hogehoge.jp/
④https://www.hogehoge.jp/
⑤http://hogehoge.jp/index.php
⑥http://www.hogehoge.jp/index.php
⑦https://hogehoge.jp/index.php
⑧https://www.hogehoge.jp/index.php
URL正規化により、上記を全て「③https://hogehoge.jp/」に統一しようとしています。
問題1:⑧だけリダイレクト前にプライバシーエラーが表示される
「⑧https://www.hogehoge.jp/index.php」だけが一旦リダイレクトされず、URLがこのままアクセスしようとし、Chromeの場合プライバシーエラー(wwwはSSLが適用されていないため)が表示されます。
そして、詳細設定⇒「hogehoge.jpにアクセスする」と進むと、ページにアクセスし、リダイレクトされます。
wwwを含むパターンだと、②や④や⑥もありますが、これらはプライバシーエラーが出ずに、www無しへリダイレクトされます。
なぜ、⑧だけダメなのでしょうか?
問題2:Chromeのシークレットウィンドウでは挙動が異なる
上記の問題、Chromeのシークレットウィンドウではなぜかプライバシーエラーが出ずに正しく動作するんです。
そして逆に、シークレットウィンドウでのみindex.php無しの「④https://www.hogehoge.jp」がリダイレクトされず、そのまま表示されてしまいます。
「②http://www.hogehoge.jp」でも、④にリダイレクトされ、wwwが残ったままアクセスされます。
まとめると、
通常ウィンドウ:⑧のみ×
シークレットウィンドウ:②、④が×
該当のソースコード
htaccessに以下の記載をしています。
htaccess
1<IfModule mod_rewrite.c> 2RewriteEngine On 3 4<IfModule mod_rewrite.c> 5RewriteEngine On 6 7#------------------------ 8# www無しに正規化 9#------------------------ 10RewriteCond %{HTTP_HOST} www¥.hogehoge¥.jp 11RewriteRule .* https://hogehoge.jp$1 [R=301,L] 12#------------------------ 13# index.php無しに正規化 14#------------------------ 15RewriteCond %{THE_REQUEST} ^.*/index.php 16RewriteRule ^(.*)index.php$ http://hogehoge.jp/$1 [R=301,L] 17#------------------------ 18# SSLにリダイレクト 19#------------------------ 20RewriteCond %{ENV:HTTPS} !^on$ 21RewriteCond %{HTTP:X-SAKURA-FORWARDED-FOR} ^$ 22RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 23 24
解決策をご存知の方、ご教授くださいm(__)m
あなたの回答
tips
プレビュー