mod_rewrite 不排除文件夹

mod_rewrite not excluding folder

我已经设置了一些重写规则来清理我页面的 URLs。这些重写工作正常,除了一些我不想重写 URL.

的下载

我尝试了几个规则来排除 "files" 文件夹:

1#:

RewriteCond %{REQUEST_URI} !/files[0-9]*/
#Rewrite ulrs:
RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [L]

2#:

RewriteCond %{REQUEST_URI} !^./files
#Rewrite ulrs:
RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [L]

3#:

RewriteRule ^files - [L]

4#: 使用

将新的 .htaccess 文件放入 "files" 文件夹中
RewriteEngine Off

还有其他方法可以尝试吗? 我确实想重定向到我设置的 pdf 下载而不重写。就像:

<a href="files/myDownload.pdf">

如果我引用重写规则:

#RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [L]

它不再重写 url 并且我可以访问我的下载,所以我只需要获取规则之外的文件夹。

你有什么想法或建议吗?

除了#2 之外的所有尝试都应该有效。请注意,您放置 RewriteRule 的顺序也很重要。

你能试试下面的方法吗:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/files/ [NC]
RewriteRule ^ index.php?%{QUERY_STRING} [L]