Software Design 2007年 09月号にmod_rewrite活用テクニックを書きました。
公式ドキュメントでも黒魔術などと称されている悪名高いモジュールmod_rewriteですが、要は設定例や内部でどのように動くかが解説されていないためによくわからないモジュールとされているだけであって、それらを理解してしまえば普通に使いこなすことができるようになります。
例えば以下のことを知らないような人向けに書いてみました。
- RewriteRuleディレクティブに渡される(RewriteRuleディレクティブで評価される)URLが、RewriteRuleディレクティブをどこに書くか(httpd.confか.htaccessかなど)によって違う
- RewriteBaseディレクティブはなんのためにあるのかよくわからない
- RewriteCondで使える変数に何があるか、そしてそれらの変数が何を指すのかわからない
- RewriteRuleの第三引数の各種フラグ(LとかNとかPとかQSAとか)がよくわからない
また設定例として、携帯からのアクセスを特定のURLに振り向ける、拡張子が.htmlから.phpに変わった場合でもリンク切れを起こさない方法、DNSを用いない簡易的なラウンドロビン、特定のファイル名のファイルをアップロードするだけで素早くメンテナンス画面に切り替えられるようにする、Amazon風のURLを実現する方法などを挙げてみました。
さらに、WEB+DB press Vol.38「RESTレシピ」などでも連載が始まって注目されているRESTなどとも絡めて、mod_rewriteを使ってURLをRESTful(REST準拠な)URLにするためのテクニックにも軽く触れています。
正規表現の解説も2ページほど付けましたので、mod_rewriteで多用する正規表現が苦手という方にもオススメです。