apache在查看.htaccess之前解析网址

时间:2009-01-19 16:33:02

标签: apache .htaccess mod-rewrite apache2

我有以下形式的重写规则:

RewriteRule ^foo/([a-zA-Z0-9]+)$ foo.php?arg=$1 [qsa,nc]

它需要/foo/bar形式的网址,并将其更改为/foo.php?arg=bar

它在本地正常工作,它可以在我的旧主机上运行,​​但我转移到一个新的主机(运行ubuntu),它的行为有所不同。

在新的主机上,apache注意到有一个foo.php并直接调用它。换句话说,/foo/bar形式的网址被视为/foo.php。如果我将foo.php重命名为foo_junk.php并将重写规则更改为

RewriteRule ^foo/([a-zA-Z0-9]+)$ foo_junk.php?arg=$1 [qsa,nc]

然后一切正常。所以这不是我没有启用覆盖或我没有安装mod_rewrite或任何东西。重写工作,它们只是在解析网址的过程中的不同点而不是在本地完成。

是否有配置选项?

1 个答案:

答案 0 :(得分:2)

尝试停用MultiViews

Options -MultiViews