.htaccess rewriterule不能用于特定的字符串?

时间:2013-11-04 21:25:17

标签: apache .htaccess mod-rewrite

我有以下重写规则

RewriteRule ^healthcheck/?$ /README.txt [NC,L,R=307]

在我的.htaccess中。有什么奇怪的是,当我将字符串healthcheck更改为任何其他字符串时,重写规则有效。我错过了什么?

1 个答案:

答案 0 :(得分:1)

如果您有一个名为healthcheck.php的文件,导致此规则无法应用:

RewriteRule ^healthcheck/?$ /README.txt [NC,L,R=307]

听起来你需要关闭多视图,这是mod_negotiation的一部分,并取代你拥有的任何mod_rewrite规则。 Mod_negotiation将看到请求/healthcheck,然后看到有一个名为/healthcheck.php的文件,并假设该请求实际上是针对php文件的。关闭它将最终让mod_rewrite处理它:

Options -Multiviews