2026.05.30 | youres | 3次围观
问题说明
Nginx rewrite中的问号?会清空原查询参数。
原理解析
问号是特殊标记,表示截断原有参数。
解决方法一
用$args变量拼接原参数:
rewrite ^/old/(.*)$ /new/?id=$1&$args last;
解决方法二
用$is_args动态判断:
rewrite ^/old/(.*)$ /new/?id=$1$is_args$args last;
解决方法三
不用问号,改用return 301:
return 301 /new/$is_args$args;
总结
三种方法可解决参数丢失问题。
版权声明
本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论