【问题标题】:mod_rewrite not excluding foldermod_rewrite 不排除文件夹
【发布时间】:2016-08-07 19:04:12
【问题描述】:

我设置了一些重写规则来清理我页面的 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 文件放入“files”文件夹中
RewriteEngine Off

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

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

如果我引用重写规则:

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

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

您有什么想法或建议吗?

【问题讨论】:

  • #4 到底有什么问题?

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


【解决方案1】:

除了 #2 之外的所有尝试都应该成功。请注意,您输入RewriteRules 的顺序也很重要。

你可以试试下面的:

RewriteEngine On

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

【讨论】:

  • 我也尝试过,但遗憾的是它对我也不起作用。我猜在其他地方我一定得到了错误的配置。我会扩大搜索范围,也许还有其他问题。不过谢谢!
  • @Cery 如果您有权访问 VHost 配置,请为重写模块启用详细日志记录,并检查服务器日志。
猜你喜欢
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
  • 2013-08-03
  • 2017-10-12
  • 2013-07-17
相关资源
最近更新 更多