Apache .htaccess mod_rewrite - 无法重定向到具有相同前缀的文件?

时间:2014-07-07 12:27:57

标签: regex apache .htaccess mod-rewrite apache2

为什么这个.htaccess规则不起作用?在请求mydomain.com/login时,我得到404:

RewriteEngine On
RewriteRule ^login$ login.php [L]

如果我将^login$更改为^logn$login.php更改为login1.php,则确实有效。

我可以更改我的文件名,但我想知道为什么它不起作用。

问题出现在Ubuntu 14.04上。 Apache版本:2.4.2。 在我的开发Windows7上似乎工作正常。

1 个答案:

答案 0 :(得分:1)

您的规则是正确的,但您可能遇到多视图问题。像这样试试(只添加顶行,并在login之后给出一个可选的斜杠,以便login/也被重定向):

Options -Multiviews
RewriteEngine On
RewriteRule ^login/?$ login.php [L]