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";

HTML5