URL の移動 (mod_rewrite)
サービスの URL が変わった場合には、古い URL へのリクエストを、新しい URL に書き換えます。ここでは mod_rewrite の実際の設定をメモしておきます。
例えば /search/?q=検索語 を http://new-server/search/?q=検索語 に書き換えたい場合、
RewriteEngine on
RewriteRule ^/search/(.*)$ http://new-server/search/$1 [R=301,NE,L]
のようになります。NE (no URI escaping of output) フラグは、'%', '$', ';' を順に '%25', '%24', '%3B' にエスケープすることを抑制します。NE フラグを指定しないと、例えば "ロボット" をエスケープ済みの ?q=%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88 を渡した場合、'%' が '%25' にエスケープされ、?q=%25%E3%25%83 .... のようになります。