1

我有以下重写规则

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

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

4

1 回答 1

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
于 2013-11-04T21:52:54.600 回答