URL重写:非重定向但更改URL

时间:2012-10-10 20:08:47

标签: .htaccess url

我已将我的.htaccess文件配置为url重写。 我只是使用[L]标志,没有[R]标志的规则。 当我在我的浏览器中测试它时,页面被调用但是......出现了参数url。当然,这是我不想要的。

我的.htaccess文件:

RewriteEngine on
RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ http://localhost/testing/index.php?a=$1&b=$2 [L]

是因为我在本地主机上测试它吗?

1 个答案:

答案 0 :(得分:1)

当您使用带有FQDN的URL时,它会自动重定向,因为为了在内部将URI重写为http://localhost/...,URL文件映射处理管道末尾的处理程序重定向(使用302)无论如何。您需要为目标选择本地路径,或者如果它位于与处理请求的服务器/虚拟机不同的位置,请使用P标志:

指向server / vhost的本地URI:

RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ /testing/index.php?a=$1&b=$2 [L]

使用P标志代理请求:

RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ http://localhost/testing/index.php?a=$1&b=$2 [L,P]