2009年7月14日火曜日

mod_rewriteムズカシ

こんにちは、モリモルです。

mod_rewriteで、アクセス対象ファイルがある場合はルールを摘要しないみたいなのは、以下のようなるのですが、それがVirtualHostディレクティブでうまく動作しなかった際のメモ。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/([0-9A-Za-z_]+)/([0-9A-Za-z_]+)/(.*)$ /index.php?c=$1&a=$2 [QSA,L]


以下のようにしたらうまくいきました。

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ $1 [L]
RewriteRule ^/([0-9A-Za-z_]+)/([0-9A-Za-z_]+)/(.*)$ /index.php?c=$1&a=$2 [QSA,L]


mod_rewriteが複雑で理解できてません。。
上記も間違っててるかも。。とりあえず動いたのでよしとします。うん。