Posts Tagged ‘mod_rewrite’

[tech] mod_rewriteの効力を特定のパス(ディレクトリ)以下だけ無効にする方法

9月 2nd, 2009
こんにちは。ユナイテッドピープルの須子善彦(scommunity)です。
初めての技術TIPSの投稿になります。
DocumentRoot直下にCakePHPの公開ディレクトリーを置き、ドキュメント通りにmod_rewriteによるURLのクリーン化を行っている場合、どんなURLでもすべてCakePHPのコントローラーの制御下に入ってしまいます。たとえば、別の言語などで作られているスクリプトや、別のユーティリティを呼び出したい場合など、ある特定のURLパス(ディレクトリ)以下だけCakePHPに制御を持って行かれないようにしたいことがあります。
その場合の、設定は以下の通り。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/rawscripts/(.*)$
RewriteRule ^.*$ – [L]
</IfModule>
# Begin CakePHP
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
上記の場合、rawscripts というのが、除外したい特定のパスになります。
参考はこちら。