0

我已经为 url 重写配置了我的 .htaccess 文件。我只是使用 [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]

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

4

1 回答 1

1

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

指向服务器/虚拟主机的本地 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]
于 2012-10-10T23:13:10.847 回答