301リダイレクトでURLの正規化

ある時ふと気がついて、それ以来
気にはなっていたのですが、なかなか忙しくて後回しに。。
何がと言いますと、URL。
と言ってもブログの方ではなくて、お店のホームページです。
wwwあり wwwなし どちらでも表示されてたのです。
加えてindex.htmlも・・・

http://www.kobo-miyabi.com/
https://kobo-miyabi.com/
http://www.kobo-miyabi.com/index.html
https://kobo-miyabi.com/index.html

上記の4つのURLは、見る人にとっては同じページとなりますが、
検索エンジン(yahooやgoogleなど)は別のページと見なす可能性があるんです。
表示されるページは同じでも、wwwなしのURLに張られたリンクと、
wwwありのURLに張られたリンクとでは、
異なるページに張られたリンクとしてカウントされちゃうんです。
見てる人にはあまり関係ないんですが、
造ってる側にはチョット困った事になってしまうので、
統一する事にしました。。
何でもこれを、URLの正規化と言うらしいです。
「wwwなし」のURLにする事にして、301リダイレクトをつかいます。
.htaccessに

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.kobo-miyabi.com
RewriteRule ^(.*)$ https://kobo-miyabi.com/$1 [R=301,L]

と記述します。
「¥(円マーク)」は、環境によっては「/(スラッシュ)」
をひっくり返した、バックスラッシュで表示されます。
これでwwwなしのURLに正規化されます。
続いて、

RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://kobo-miyabi.com/$1 [R=301,L]

と記述します。
これで「kobo-miyabi.com/index.html」が「kobo-miyabi.com/」
に正規化されます。
一つ気になっていた事が、解決しました。


コメント