为什么这个.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上似乎工作正常。
答案 0 :(得分:1)
您的规则是正确的,但您可能遇到多视图问题。像这样试试(只添加顶行,并在login
之后给出一个可选的斜杠,以便login/
也被重定向):
Options -Multiviews
RewriteEngine On
RewriteRule ^login/?$ login.php [L]