gpt4 book ai didi

php - 内部重写的查询字符串出现在重定向中

转载 作者:可可西里 更新时间:2023-10-31 22:12:09 25 4
gpt4 key购买 nike

我正在使用以下 htaccess

    RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]
RewriteRule ^user/([^/]*)/$ /user/index.php?usr=$1

前三行将非 www url 重定向到我网站的 www..

另一行重定向用于规范目的,例如www.mysite.com/user/index.php?usr=JAHAJEE 将变为 www.mysite.com/user/JAHAJEE/

我的问题是在我将上述非 www 重定向添加到 www 之后,规范重定向页面显示 url 参数(例如 www.mysite.com/user/JAHAJEE/?usr=JAHAJEE)。请查看http://www.jahajee.com/user/JAHAJEE/ & http://jahajee.com/user/JAHAJEE/

如何防止 url 参数显示在重定向的 URL 中。提前谢谢你。

最佳答案

[R=301] 会让 mod_rewrite 知道应该重定向请求,但不会立即重定向请求。它将评估规则,直到它找到 [L][END] 标志(或到达文件末尾)。它现在匹配第一条规则,并告知当 mod_rewrite 感觉准备就绪时,它应该重定向。 mod_rewrite 仍然没有找到 LEND 标志,并且仍然有匹配的规则。然后它将匹配第二条规则并将其包含在重定向中。

您需要将第一条规则的标志更改为 [R=301,L] 以使其重定向。重定向的请求将再次调用此 .htaccess,如果需要,将匹配第二条规则。然后它将作为内部重写再次正常工作。

关于php - 内部重写的查询字符串出现在重定向中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com