301リダイレクト(mod_rewriteとRewriteRule)
サイトの移転、引っ越しときには忘れずに設定、SEO対策を含めた旧サイトからサイトへの誘導です。
httpのステータスコード
301リダイレクト(恒久的移動)
302リダイレクト(一時的に移動)
301の効果
・yahoo Googleのロボットにサイトの引っ越しを伝えることができ、SEOにも有効。
・Rewriteつまりurlを書き換える。動的URLを静的URLにみせることも可能。
.htaccessの書き方
mod_rewriteを利用する場合
RewriteEngine On
RewriteBase /xxx/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
ここからRewriteRuleを書く
RewriteRuleの例
例1)
/123abc/xyz-01.html →実際はsample.php?var1=123abc&var2=xyz&var3=01
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)-([0-9)]+)\.html$ sample.php?var1=$1&var2=$2&var3=$3 [L]
例2)
/abc/から/xyz/に移動
RewriteRule ^/abc/(.*)$ /xyz/$1 [R=301,L]
例3)
パラメータを有効にする [QSA]
RewriteRule ^([0-9A-Za-z]+)/index.php /abc/sample.php?name=$1 [QSA]
mod_rewriteが使えない場合
Redirect 301 / http://www.xxx.com/
print "Status: 301 Moved\n";
print "Location: http://ww.yahoo.co.jp\n";
print "\n";