パラ付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リダイレクトする。

  1. <Files ~ “^\.(htaccess|htpasswd)$”>
  2. deny from all
  3. </Files>
  4. RewriteEngine on
  5.  
  6. RewriteCond %{HTTP_HOST} ^(www\.hoge\.com)(:80)? [NC]
  7. RewriteRule ^(.*) http://hoge.com/$1 [R=301,L]
  8.  
  9. RewriteCond %{QUERY_STRING} ^option=com_content&view=frontpage&Itemid=1$ [NC]
  10. RewriteRule . http://hoge.com/? [R=301,L]
  11.  
  12. 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の末尾に「?」を入力。

参考用:htaccessのURLの書き換え Rewrite

新着(ニュース関連以外)

2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。