mod_rewriteはあまり使うことがないので、なかなか設定を覚えられず、毎回調べないといけない。 今回は、/do_something.cgi?id=123 を /do/something/123/ にリライトしたくて調べた。来週になったらもう忘れてそうなのでメモしておく。 まずRewriteRuleでは「?」以降はマッチ対象にならないということが分かった。RewriteCondを使ってQueryStringをマッチさせて、その後でRewriteRuleする。RewriteCondでマッチしたものは%変数に格納され、RewriteRuleで使える。 RewriteCond %{QUERY_STRING} id=(\d+) RewriteRule ^/do_something.cgi /do/something/%1/ [R=301,L] これで特に問題なくリライトはされるのだけど、リダイ
![mod_rewriteでQueryStringを扱う - OZACC.blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/9e1b93330dd6e34d10b069bd47c2978c1c436b67/height=288;version=1;width=512/http%3A%2F%2Fblog.ozacc.com%2Fstatic%2Fimg%2Ficon%402x.png)