普通に考えて、
xxxx.com/?yyyy=zzzz を
xxxx.com/index.php?yyyy=zzzz に転送するなら、
RewriteRule ^\?yyyy=zzzz index.php?yyyy=zzzz [L]
で良いと思うのですが、転送されません。(.httaccessはxxxx.com/に設置)
?を任意の位置文字として認識できないかと考え、
RewriteRule ^.yyyy=zzzz index.php?yyyy=zzzz [L]
ともしてみましたが、?には反応しません。(他の文字なら転送される)
解決策をご教授下さい。
URL の「?」以降の文字列は、RewriteRule のパターンが適用される対象に含まれません。
単純な転送だけをするなら、以下のように記述するだけで「?」以降の文字も自動的に付加されると思います。
RewriteRule ^$ /index.php [L]
付加されなかったら、このように記述してみて下さい。
RewriteRule ^$ /index.php?%{QUERY_STRING} [L]
「?」以降の文字をマッチさせたい場合は、RewriteCond を使ってみて下さい。
RewriteCond %{QUERY_STRING} 【正規表現】 RewriteRule .* index.php [L]
ありがとうございます!お陰様で解決しました。
なるほど、全て納得です。
正確には、パラメータを変更した上での転送でしたので、3つ目のご回答のように、RewriteCond で条件設定した上で転送しました。