web制作

URL正規化がされていない?問題

http://〇〇.▲▲から飛ぶとhttps://www.〇〇.▲▲にリダイレクトされず、警告メッセージが出ていた!

以前制作したHP、リニューアル案件で、最終的にURL正規化をし、https://にリダイレクトさせていたハズのものが、リダイレクトされているものの警告メッセージが出てしまって表示されない状態だったと判明!

もう、タイトルで気づく人もいるかと思いますが、私のような凡ミスをされる方も
いるかな〜と思い記事にします。

問題はwwwのあり・なしだった

結局、正規URLがwwwありのURLでした。

そこを見落とし、.htaccessファイルでは、wwwありにリダイレクトさせる指示を書いていなかったことがリダイレクトできなかった原因だと判明。

やっていたこと

.htaccess ファイルには

RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

と書いてサイト全体のURL正規化をしていました。

[chat face="me02.jpeg" name="ただのお母さん" align="right" border="none" bg="yellow"] でも、これでは、https://にリダイレクトされるだけ。https://だけれど、wwwなしの状態にリダイレクトされていました。[/chat]

修正したもの

RewriteEngine On
RewriteCond %{HTTP_HOST} ^〇〇\.▲▲
RewriteRule ^(.*) http://www.〇〇.▲▲/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

このように一度、
http:// → http://wwwにリダイレクトさせてから
サイト全体をhttps://に再度リダイレクトさせる
という書き方で一件落着しました。

メモ
先に全体をhttps://にリダイレクトさせて、
その後、wwwありに再度リダイレクトさせる書き方を書いたらダメでした。

RewriteEngine On
RewriteCond % {HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^〇〇\.▲▲
RewriteRule ^(.*) https://www.〇〇.▲▲/$1 [R=301,L]

-web制作