3

我只想拥有网址:

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 添加其他内容吗?

谢谢

4

1 回答 1

1

您的原始重写规则包含通过R=301. 该标志将需要删除。RewriteRule其次, (目标)包含的右侧http://example.com/也将隐式强制浏览器重定向。相反,只使用右侧的相对路径:

RewriteEngine On
RewriteBase /
RewriteRule ^connect/admin/create$ connect/admin/create.php [L,NE]

如果您还想在connect/admin其中删除其他操作,则可以以更通用的方式完成此操作.php

# Capture the action into $1 and pass it to the redirect target.
RewriteRule ^connect/admin/([^/.]+)/?$ connect/admin/$1.php [L,NE]
于 2013-07-26T19:37:50.903 回答