ApacheでRedirectを使わず、RewriteRuleでリクエストの返信をする方法
ApacheでRedirectを使わずに別サイトへ転送する方法
・条件1:アクセスページやパラメータを条件に転送先を分類する
・条件2:パラメータは引き継がず転送先では破棄する
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} moto_page\.html
RewriteCond %{QUERY_STRING} param01=hogehoge
RewriteRule ^fugafuga/moto_page.html*$ http://example.com/hogefuga/tensousaki_dir/
? [R,L]
とか
RewriteRule ^(fugafuga)/(*)$ http://example.com/hogefuga/tensousaki_dir/ ? [R,L]
とか...
Apacheの環境変数 %{REQUEST_URI} %{QUERY_STRING} の値条件にしている。
RewriteCond が条件
RewriteRule が転送の設定。RewriteRuleで文字を置き換えてるらしい。
が、書き換え先をhttp://から指定すると部分書き換えではなく書き換え先に書いたURLにそのまま
飛ぶらしい。
RewriteBase は、よーわからん。
最後の ? をつけたらなぜかパラメータが引き継がれなかった。
RewriteRule ^(fugafuga)/(*)$ http://example.com/hogefuga/tensousaki_dir/ [R,L,QSA]
としてQSAを付けるとパラメータが引き継がれるみたい。
[L]はそこまでで処理終わり..の意味
[R]はHTTPステータスを302として返す..の意味