我已将我的.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]
是因为我在本地主机上测试它吗?
答案 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]