Php 重定向301将我发送到网站的绝对路径

Php 重定向301将我发送到网站的绝对路径,php,.htaccess,mod-rewrite,redirect,Php,.htaccess,Mod Rewrite,Redirect,我的问题如下: 这里是我的网站放进www根的wamp 这里是我对重定向301的指令 RewriteEngine On RewriteRule ^mission/?$ mission.php [R=301] RewriteRule ^contatti/?$ contatti.php [R=301] RewriteRule ^page/([^/]+)/?$ page.php?slug=$1 [R=301] RewriteRule ^page/single/([^/]+)/?$ single.ph

我的问题如下:

这里是我的网站放进www根的wamp

这里是我对重定向301的指令

RewriteEngine On  
RewriteRule ^mission/?$ mission.php [R=301]
RewriteRule ^contatti/?$ contatti.php [R=301]
RewriteRule ^page/([^/]+)/?$ page.php?slug=$1 [R=301]
RewriteRule ^page/single/([^/]+)/?$ single.php?titolo=$1 [R=301]
RewriteRule ^admin/?$ admin/login.php [R=301]
如果键入重定向的url,则会显示原始url

i、 e

类型

出现

http://root/page.php?slug=recensioni
尝试此操作(客户端看不到url中的更改,但正在加载正确的文件以处理请求)


我不明白你的问题。Show example:type/executes/want result我想覆盖url以获得例如root/page/pagename/当我键入该url时,它会识别我该url是正确的,但它会将我发送到绝对url root/page.php?pagename=pagename。为什么?你想让它做什么?如果您想让/mission实际加载mission.php等?您需要移除301,以便“在引擎盖下”完成。301s用于重定向用户和浏览器,而不是将URL重写到另一个。这正是301重定向应该做的——告诉客户端资源的地址已更改,他应该使用给定的新地址发出新请求。如果你不想这样,那就不要做301重定向,哦!Jonathon,我希望mission.php等加载/mission,这是相反的过程。CBroe,我已经读到如果你使用301指令,客户端会看到url更改,不是吗?好的,那么当我在本地时,我看不到重写过程?只是为了了解是的,在浏览器中,您将不会看到重写过程,但在后端,所有这些都正常工作
http://root/page.php?slug=recensioni
RewriteEngine On  
RewriteRule ^mission/?$ mission.php [L]
RewriteRule ^contatti/?$ contatti.php [L]
RewriteRule ^page/([^/]+)/?$ page.php?slug=$1 [L]
RewriteRule ^page/single/([^/]+)/?$ single.php?titolo=$1 [L]
RewriteRule ^admin/?$ admin/login.php [L]