パラ付URLをパラ無URLに変更
2010/09/06
CMSにもよるけどトップページでも引数がつく場合がある。
「/」止めでページは表示されるんだけど、他のページからトップへリンクをすると引数がつく。
で、SEO的にはリンクで使うURLは出来る限り統一させるってのがある。
※「http://www.hoge.com/」のトップページへのリンクを「/」有りの「http://www.hoge.com/」、「/」無しの「http://www.hoge.com」、ファイル名を記載した「http://www.hoge.com/index.html」って感じでバラバラにしないってこと。
冒頭でもいった通りCMSにもよるけどトップページでも引数がつく場合があるんだ。
下記の例だとURLに「option=com_content&view=frontpage&Itemid=1」(トップページへのリンクのURL)ってのがつく場合は「/」に301リダイレクトする。
- <Files ~ “^\.(htaccess|htpasswd)$”>
- deny from all
- </Files>
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^(www\.hoge\.com)(:80)? [NC]
- RewriteRule ^(.*) http://hoge.com/$1 [R=301,L]
- RewriteCond %{QUERY_STRING} ^option=com_content&view=frontpage&Itemid=1$ [NC]
- RewriteRule . http://hoge.com/? [R=301,L]
- order deny,allow
まずは、6・7行目でURL「www」ありの「www.hoge.com」が含まれる場合は「www」無しの「http://hoge.com/」に301リダイレクト。
次に、9・10行目で「option=com_content&view=frontpage&Itemid=1」がURLに含まれていたら「http://hoge.com/」へ301リダイレクト。
URLの引数はRewriteCondでパターンマッチできないので「RewriteCond %{QUERY_STRING}」を使用。
リダイレクト元URLの引数を引き継がせたくない場合は、リダイレクト先のURLの末尾に「?」を入力。