【发布时间】:2013-07-27 04:25:19
【问题描述】:
我只想拥有 URL:
example.com/connect/admin/create
重定向到:
example.com/connect/admin/create.php
我在 .htaccess 文件中有以下代码:
RewriteEngine On
RewriteBase /
RewriteRule ^connect/admin/create$ http://example.com/connect/admin/create.php [R=301,L,NE]
并且它会正确重定向。问题是浏览器现在显示
example.com/connect/admin/create.php
当我仍然希望它显示时:
example.com/connect/admin/create
我需要向 .htaccess 添加其他内容吗?
谢谢
【问题讨论】:
-
这是因为您通过
R=301进行了硬重定向。如果您不希望它重定向浏览器,只需将其删除,它就会静默重写。另外,您需要删除http://example.com/ -
根据你的回复,我把代码改成:RewriteRule ^connect/admin/create$ /connect/admin/create.php [L,NE] 结果还是一样。
-
您还需要从
/connect/admin/create.php中删除前导/绝对路径会导致它尝试重定向。 -
它实际上已被缓存在浏览器中,无论出于何种原因。我清除了缓存,它起作用了。
-
好的,我把它放在下面作为答案
标签: .htaccess url-rewriting friendly-url