web-dev-qa-db-ja.com

.htaccess rewrite:特定のファイルに例外を追加する方法は?

.htaccessに特定のファイルの例外を追加する必要があります。 RewriteRule ^ /print.php $-[L]という行を追加しようとしましたが、効果がありません。誰かがその理由を理解できますか?

ファイル全体は次のようになります。

RewriteEngine on
RewriteBase /
RewriteRule !^pub - [C]
RewriteRule !^design - [C]
RewriteRule !^bilder - [C]
RewriteRule !^filer - [C]
RewriteRule !^js - [C]
RewriteRule !^pub2010 - [C]
RewriteRule ^/print.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php [L,QSA]
1

.htaccessファイルの場合、パターンと照合される入力はスラッシュで始まりません。

代わりにこれを試してください:

RewriteRule ^print.php$ - [L]

ちなみに、これらの連鎖ルールはすべて1つに短縮できます。

RewriteRule !(^pub|^design|^bilder|^filer|^js|^pub2010) - [L]
2
Ladadadada