You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带URL参数的301重定向无法正常工作问题求助

URL重定向参数丢失问题解决

你的重定向规则写法有误,导致参数被忽略——URL里的查询参数(?后面的内容)不属于路径部分,绝大多数服务器的重定向规则在匹配时只会识别/product/这类路径,不会把?utm_source纳入匹配范围,所以你的规则根本触发不了,自然带不走参数。

重定向本身是支持传递参数的,只要调整规则写法就行,分两种常见服务器环境说明:

Apache(mod_rewrite)

用RewriteRule配合QSA标记自动追加所有查询参数:

RewriteEngine On
RewriteRule ^product/$ /product-new/ [R=301,L,QSA]

QSA的作用就是把原URL的所有查询参数(不管是utm_source还是其他)自动拼到目标URL后面。如果只想匹配带utm_source的请求,再加个条件:

RewriteEngine On
RewriteCond %{QUERY_STRING} utm_source
RewriteRule ^product/$ /product-new/ [R=301,L,QSA]

Nginx

用$args变量携带原查询参数:

rewrite ^/product/$ /product-new/?$args permanent;

要是只想针对带utm_source的请求跳转,就加个判断:

if ($args ~* utm_source) {
    rewrite ^/product/$ /product-new/?$args permanent;
}

关键是要区分URL的路径部分和查询参数部分,规则匹配路径,参数通过专门的标记或变量传递,这样就能按预期跳转了。

内容的提问来源于stack exchange,提问作者public9nf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 10:47:03