0

我网站的根目录在 .htaccess 中包含 FilesMatch,以确保我不会重写这些文件。

<FilesMatch "\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|woff|svg|ttf|pdf|gz)$">
  RewriteEngine Off
</FilesMatch>

我喜欢通过一个 php 文件发送所有文件来检查权限来保护一个子目录。那里的htaccess是

RewriteEngine On
RewriteRule ^(.*)$ /protect.php [L]

但这排除了根目录中与 filesmatch 匹配的所有文件。当我尝试覆盖(相同的文件匹配语句但使用 RewriteEngine On 时,文件仍然被忽略。

我可以覆盖子目录中的 FilesMatch 吗?

4

1 回答 1

0

您可以这样做,但您必须将完整的规则集包含在其中

<FilesMatch "\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|woff|svg|ttf|pdf|gz)$">
RewriteEngine On
RewriteRule ^(.*)$ /protect.php [L]
</FilesMatch>
于 2013-04-30T13:34:50.743 回答