表題の通り、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]
回答ありがとうございます!
2016/03/01 17:47:28実は今回wordpressに移管したのですが、htaccessで以下のような301リダイレクトを行っています。
RedirectMatch 301 ^/AA/BB$ 新URL
※ページ名のみで指定しているのは、index.php部分がWPの移管都合上、URLから消えてしまうため
ただこれだと「index.php?AA/BB」の時にリダイレクトされない事がわかり。。。
そこで、index.php?をindex.php/に最初の時点で書き換えてしまえばと思ったのです。
頂いたものを追加してみましたが、そのまま「?付きのURL」が残ってしまうようですね。。。
記述の順番かもしれないので、ちょっと入れ替えて試してみようと思います。