对于某些路径,完全忽略RewriteRule

时间:2017-01-24 13:57:35

标签: apache .htaccess url-rewriting

我有一个简单的Apache RewriteRule,如下所示:

RewriteRule (.*) deploying.html [L]

应该为任何请求显示deploying.html文件。

它适用于除一个以外的所有路径。 /current_foo/有效,而/current/则显示经典的404页面。 current_foocurrent文件夹都绝对不存在,但结果却不同。

1 个答案:

答案 0 :(得分:0)

Apache与/current/路径的行为不同的原因是还存在名为current.tmp 的文件夹。我只需要删除点。然后/current/路径按预期工作。

此行为是由Multiviews选项引起的,该选项会查找除“扩展名”之外的类似路径。在.htaccess中添加 Options -MultiViews 会禁用此选项并修复此问题。

请参阅此文章:https://www.bennadel.com/blog/2218-negotiation-discovered-file-s-matching-request-none-could-be-negotiated.htm