トップページ  > ウェブ制作小ネタTIPS  > .htaccessで301リダイレクトを指定してURLを正規化する

★ウェブ制作小ネタTIPS

.htaccessで301リダイレクトを指定してURLを正規化する

●URL正規化とは

URL正規化とは、正規のURLを定めてそのURLに統一することです。

例えば、http://www.example.com/ と http://example.com/ のどちらをリクエストしても同じページが表示される場合がありますが、 URL価値を分散させないという観点ではどちらかに統一したほうが良いのかもしれません。

また、wwwの有無の他にも、index.htmlの有無や、大文字か小文字かなどのURL表記を統一して、一つのURLに価値を集約するのがURL正規化の目的です。

http://example.com/
http://www.example.com/index.html
HTTP://www.Example.com/
↓ ※正規のURLを定めて統一
http://www.example.com/
広告

●301リダイレクトとは

仮にwww付きのURLに統一するとしましょう。 この場合、http://example.com/ へのリクエストを http://www.example.com/ に301リダイレクトすることでURLを統一することができます。

301という番号はHTTPステータスコードと呼ばれるもので、3xx番台はredirection(再指示、再命令)を表します。 その一つが301リダイレクトで、Moved Permanently(恒久的に移動済み)という意味になります。

HTTPステータスコードが301に指定してあれば、検索エンジンは「恒久的に移動したのだな」と解釈して、リダイレクト先の新URLに旧URLの価値を引き継いでくれるとされています。

※ちなみに、302や307を指定すると、一時的なリダイレクトだからURLの価値を引き継いでくれるかどうかは微妙…とも言われますが、個人的にはよく分かりません。 検索エンジンの開発者が決めることだから、おそらく状況とともに変わるのだろうと思っています。 もし301リダイレクトが不正に利用される事例が増えれば、検索エンジンが301リダイレクトをどう評価するかも変化するのかもしれません。

●.htaccessファイルで301リダイレクトを指定する

.htaccessファイルで301リダイレクトを指定するには、以下の記述を追加します。 「example.com」の部分はご自分の利用しているドメイン名に置き換えてください。

.htaccessファイルに追加する記述

# 301リダイレクト http://example.com/ → http://www.example.com/
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

# 301リダイレクト http://www.example.com/index.html → http://www.example.com/
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]

.htaccessファイルに上記の記述を追加してサーバーにアップしたら、301リダイレクトされているかどうかを確認してみましょう。 以下のサイトなどで確認すると便利でしょう。

リダイレクトチェック http://ohotuku.jp/redirect_checker/

広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ