Nginx保留UTM参数重定向配置:4种方法彻底解决流量追踪失效问题
为什么UTM参数在Nginx重定向中总是丢失? 很多网站管理员在配置HTTP到HTTPS重定向时,发现Google Analytics的流量来源追踪突然失效了。用户明明是从社交媒体或邮件营销链接过来的,UTM参数却在重定向过程中丢失,导致所有流量都被归为"直接访问"。 这个问题的根源在于Nginx的return指令默认不会自动附加原始请求的查询参数。当你使用return 301 https://$host$request_uri;这样的配置时,如果原始请求的URL包含?utm_source=xxx&utm_medium=xxx,这些参数会被完整保留。但很多管理员错误地使用了return 301 https://$host$uri;,这就导致查询参数全部丢失。 Nginx保留UTM参数的4种配置方法 方法1:使用$request_uri变量(推荐) $request_uri变量包含了原始请求的URI和所有查询参数。这是最简单的解决方案: server { listen 80; server_name youres.cn www.youres.cn; # 正确:保留所有查询参数,包括UTM return 301 https://$host$request_uri; } 这种配置下,用户访问http://youres.cn/product?utm_source=wechat&utm_medium=social会被正确重定向到https://youres.cn/product?utm_source=wechat&utm_medium=social。 方法2:使用$is_args和$args组合 如果需要更精细的控制,可以显式拼接参数:本文来自:youres | 所思即所见,原地址:https://www.youres.cn/post/1088.html
