mod_rewrite不排除文件夹

时间:2016-08-07 10:07:57

标签: apache .htaccess mod-rewrite url-rewriting friendly-url

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

我已尝试过多条规则来排除"文件"文件夹:

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文件放入"文件"文件夹

RewriteEngine Off

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

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

如果我引用重写规则:

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

它不再重写网址,我可以访问我的下载,所以我只需要从规则中获取文件夹。

您有任何想法或提示吗?

1 个答案:

答案 0 :(得分:0)

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

您可以尝试以下方法:

RewriteEngine On

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