表題の通り、pukiwikiの動的URLをhtaccessで静的URLに書き換わるようにしたいです。
RewriteRule ^index\.php\?(.*)$ index\.php/$1 [L]などで試してみましたが、うまくいきません。
正しい書き方をご存知のかた、教えて頂けると助かります。
(サーバはさくらのレンタルサーバ・スタンダードを使っています)
mod_rewrite がきちんと動くようになってるとして、index.php の頭にスラッシュがないのが駄目なんだと思います。
RewriteRule ^index\.php\?(.*)$ /index.php/$1 [L]
これで、http://hostname/index.php?AA/BB でアクセスしてきた人に、
/index.php/AA/BB の内容を見せてあげることができます。
でも、Pukiwiki で index.php の後の ? を / に変える必要があるんでしょうか?
http://hostname/wiki/AA/BB でアクセスしてきた人を、/index.php?AA/BB で処理してあげる、とかではなく?
RewriteRule ^wiki/(.*)$ /index.php?$1 [L]
旧URL形式でアクセスされた時、新URL形式の方に301リダイレクトって事?(SEO?)
つか例示はリダイレクトじゃなくて内部書き換えなんだが…。
んでRedirectMatchに渡すんならPTフラグ付けないと渡らねえべ?
rewriteだけで書き換え・リダイレクト対応するんなら
RewriteRule ^index\.php\?(.*)$ /index.php/$1 [R=301,L]
でリダイレクトする気が
とかあるので、RewriteRule がいくつもあって質問にあるルールよりも前のルールの L フラグで終了とか、そういうことだったのでしょう(きっと)。
内部書き換えなんで、ブラウザのURL欄の事なら、そりゃ残りますし。
コレ旧ドメインから新ドメインへの301とかじゃないですよね?(多分)