mod_rewriteでスタイルを変更する
mod_rewriteは、mod_aliasに似ていて、リダイレクトに多用される。
最近のブログには、スタティックhtmlに見せかけるために、ほんとによく使われている。
アクセスしてきたURLが存在しない場合に、そのURLを一定のパターンで評価して、
当てはまれば、URLの?以降にあるクエリ文字列に当てはめて、該当するページを表示する
というのが、一般的な使われ方のようですが、それだけではなく、リバースプロキシの機能([P]+mod_proxy)や、アクセス禁止などもできるらしい。
少し変わった用途で、使えないか試してみたので、メモを残します。
下の例は、htmlを書くときには、外部スタイルを指定する事が多いと思いますが、
linkエレメントで、指定するスタイルシートを、リバースプロキシのように、
条件によって、ほかのファイルを読み込ませるというものです。
<IfModule mod_rewrite.c> RewriteEngine On rewriteBase /rewrite/ # # index.cssへのアクセスがfirefoxからであるとき # test.cssへのリダイレクトを実行する # RewriteCond %{HTTP_USER_AGENT} ^.+Firefox [NC] RewriteRule index.css test.css [L,QSA] </ifModule>
test.cssは、外部URLでも使えますから、リバースプロキシのように動作します。