1

すべてのリクエストの書き換えルールで構成される .htaccess ファイルを Web サイトに実装しました。特定のファイルが要求されたときに書き換えルールが適用されないように条件を追加したいと思います。どうすればこれを行うことができ、必要に応じて将来さらに追加できるようになりますか. 以下にコードを貼り付けます。

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php?filename=$1 [L,QSA]
</IfModule>
4

1 に答える 1

1

RewriteCond 行は mod_rewrite に RewriteRule をいつ適用するかを伝えます。

@Niels がコメントしたように、「RewriteCond %{REQUEST_FILENAME} !-f」行は、リクエストが既存のファイルに対するものである場合、RewriteRule を実行しないようにシステムに指示します。

ファイルが存在する場合でもルールを一般的に実行し、特定のファイルのみを書き換えないようにする場合は、その行を削除し、より具体的な RewriteCond 行を追加します。何かのようなもの:

RewriteCond %{REQUEST_FILENAME} ="Foo.html"

詳細については、 http://httpd.apache.org/docs/2.0/mod/mod_rewrite.htmlを参照してください。

于 2013-05-30T09:01:16.707 に答える