Skip to main content.

mod_rewriteでwwwの有無を統一する

 
URLに「www」がついているのとついていないサイトについて

http://www.hoge.com/

http://hoge.com/

の2つのURLがあるとして、どちらも表示される内容は同じでもSEOの観点で見ると別サイトと取られてしまいページランクが下がってしまうことがある。

これは俗に重複URL問題と言われる(キリッ

2009年に入ったあたりからようやく対策として「rel=”canonical”」が提言されるようになってきてはいるが、最初からmod_rewriteを使って「www無しのURLからwww有りのURLへリダイレクトしちゃえばいいんじゃな〜い?」というわけでその方法をメモメモ。

ここでは、仮ドメインを「hoge.com」としmod_rewriteの記述を.htaccessに行うものとする。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^hoge.com$
RewriteRule ^/(.*)$ http://www.hoge.com/$1 [R=301,L]


やってることを説明すると、
www無しのアクセスに対して、www付きURLへ301リダイレクトをかけてるだけ。
/(スラッシュ)以降のURLもそのまま引き継げるのでGETパラメータでの処理にも対応可能。
POSTパラメータはどうなるのかはやったことないので不明。
でもおそらくPOSTは渡せないんじゃないかなと予想。
このエントリーをはてなブックマークに追加
 

comments powered by Disqus