URLの正規化「index.html」をスラッシュ(/)へ統一する方法

今回は、index.htmlの付いたURLを正規化する方法についてまとめています。
URLの正規化の方法について知りたい方は、ぜひ当記事を参考にしてください。
URLの正規化(スラッシュ終わりへの統一について)
例えば、
http://example.com/index.html
のように、
URLにファイル名「index.html」を付けて運用されているWebサイトを見かけないでしょうか?
古い話になりますが、
私がWebの世界に入った頃は、index.htmlを付けて運用しているWebサイトが多くありました。
もちろん、<a>タグにも、
index.htmlを付けたURLでリンク設定を行います。
↓
<a href=”http://example.com/index.html”>xxxxxx</a>
最近は、スラッシュ(/)終わりにするのが当たり前になっています。
ですが、今でも、時々 http://example.com/index.html で運用されているWebサイトを見かけることがあります。
URLにファイル名を指定しなければ、Webサーバ側で勝手にindex.htmlをトップページとみなしてくれるので、
わざわざURLに記載しなくてもいいんですが。。。
で、それはいいのですが、
問題は、
http://example.com/index.html
にも、
http://example.com/
にも当然のようにアクセスできてしまうWebサイトがあることです。
URLの分散は、SEO上もよくありません。
分散しないように、必ずリダイレクト設定を行って、どちらかに統一しておきましょう!
index.htmlの付いたURLの正規化
URLの正規化設定は、手っ取り早く、.htaccessを使って行ってしまいましょう。
以下の記述を、トップページと同じディレクトリ階層にある.htaccessに追記すればOKです。
※.htaccessが作成されていなければ、自身で作成してください
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://example.com/$1 [R=301,L]
※「example.com」の部分は、自分のWebサイトのドメイン名に書き換えてください。
また、リダイレクトは、「R=301」を付けて、301リダイレクトで設定してください。
.htaccessの設置が終わったら、
http://example.com/index.html へアクセスしてみてください。
http://example.com/ へ転送されればOKです!
index.html以外のURLの正規化
PHPで作成されているWebサイトも多く、トップページがindex.htmlではなくindex.phpになっているWebサイトも多いです。
その場合にも対応できるように、以下の記述も.htaccessに追記しておいた方がいいです。
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://example.com/$1 [R=301,L]
ただ、同じような記述を2つ並べるとごちゃごちゃします。
そこで、以下のようにまとめてしまった方がいいです。
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index.(html|htm|php)
RewriteRule ^(.*)index.php$ http://example.com/$1 [R=301,L]
※まだ、index.htmにアクセスしてくるユーザーがいるかもしれないので、とりあえず「htm」も入れておきます。
ちなみに、他にも、Ruby(Rails)やPythonなどPHP以外の言語で作成されているWebサイトもあります。
その場合は、状況に応じて記述内容を変更しましょう。
最後に
URLの分散は、SEO上マイナスになるので避けましょう。
正規化を行うことで「/(スラッシュ)」終わりのURLに統一し、Googleの評価を1つのURLに集中させることが大切です。
ただ、Googleの検索エンジンも、かなり賢くなっています。
実際には、
http://example.com/index.html
も
http://example.com/index.php
も
http://example.com/
も、
同じURLと認識してくれると思います。
ですが、念のために同一ページのURLは一つに統一しておきましょう。
ちなみに、URLの正規化は、他にも設定があります。
興味のある方は、こちらの記事もお読みください。
https://gachiserver.com/about-url-seikika/























