我想将example.com/login
重写为example.com/login.php
这曾经在我的旧服务器上工作,就像我在.htaccess
文件中使用此规则一样:
RewriteRule ^login$ login.php [L]
当我迁移到新服务器时,此特定规则已停止工作,但是例如,如果我将login
更改为loginx
RewriteRule ^loginx$ login.php [L]
该规则有效,当我转到example.com/loginx
此外,如果我更改文件名,该规则也将开始起作用
RewriteRule ^login$ loginx.php [L]
如果规则和文件具有相同的名称(在这种情况下为登录名),则该规则由于我无法理解的原因而无法正常工作,有人知道为什么会发生这种情况以及如何处理吗?
这是完整的.htaccess
文件:
RewriteEngine On
RewriteBase /
RewriteRule ^login$ login.php [L]
RewriteRule ^users$ users.php [L]
RewriteRule ^profile$ me.php [L]
users
也会发生此问题(因为该文件的名称为URL)
profile
规则正常工作。
答案 0 :(得分:1)
多亏了04FS,我才开始工作
我刚刚添加了
Options -Multiviews
在我的htaccess文件顶部
答案 1 :(得分:-1)
您是否在.htaccess中在其上方添加了RewriteEngine On
?