gpt4 book ai didi

nginx - 如何重写路径、转发参数和添加参数?

转载 作者:行者123 更新时间:2023-12-02 16:12:30 38 4
gpt4 key购买 nike

This SO disucssion表示要在使用 return 重写 url 时转发参数,代码应类似于此

location /path/to/resource {
return 301 /some/other/path/$is_args$args;
}

到目前为止,一切都很好。但是如何向查询字符串添加任意新参数呢?例如id=1

解决方案必须至少涵盖以下三种情况:

  1. 原始请求没有查询参数
  2. 原始请求有查询参数,但没有添加的参数
  3. 原始请求已添加查询参数

最佳答案

要重写路径,您可以使用rewrite关键字,例如

location /path/to/resource {
rewrite /some/other/path/$is_args$args;
}

要转发附加 $args 的参数,将附加查询参数(如果存在),如果没有传递查询参数,则将为空。

用于有条件添加新参数,例如 id=1那么 if 构造可以在该位置中使用,例如:

location /path/to/resource {
if($args !~* "id"){
rewrite /some/other/path/$is_args$args&id=1;
}
}

如果传入 URL 中不存在,上面将附加“id”字段。

关于nginx - 如何重写路径、转发参数和添加参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37188129/

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