This SO disucssion说要在使用return
重写网址时转发参数,代码应该类似于
location /path/to/resource {
return 301 /some/other/path/$is_args$args;
}
到目前为止,这么好。但是如何在查询字符串中添加任意新参数?例如id=1
。
解决方案必须至少包括以下三种情况:
答案 0 :(得分:0)
要重写路径,您可以使用重写关键字,如
location /path/to/resource {
rewrite /some/other/path/$is_args$args;
}
要转发附加的参数,$ args将附加查询参数(如果存在),如果没有传递查询参数,则为空。
有条件地添加新的参数,例如id = 1 然后,如果构造可以在以下位置使用:
location /path/to/resource {
if($args !~* "id"){
rewrite /some/other/path/$is_args$args&id=1;
}
}
上面会附加' id'字段如果不存在于传入的URL中。