.htaccess 重写子目录中的FilesMatch

.htaccess 重写子目录中的FilesMatch,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我网站的根目录在.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> 但这将排除根目录中与filesmatch匹配的所有文件。当我试图覆

我网站的根目录在.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>
但这将排除根目录中与filesmatch匹配的所有文件。当我试图覆盖(相同的filesmatch语句,但使用RewriteEngine时,文件仍然被忽略


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

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

<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>

重新启动发动机
重写规则^(.*)$/protect.php[L]
<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>