使用查询参数重写 URL 的 NGINX

NGINX rewrite URL with query param

提问人:Bylaw 提问时间:9/2/2022 最后编辑:Bylaw 更新时间:9/5/2022 访问量:1355

问:

我想在 URL 请求到达特定位置时重定向它。目标 URL 是完全不同的站点 + 原始请求的查询参数的值。

我尝试了带有 etc 等变量的指令,但每次尝试都会将整个查询字符串添加到目标 URL 中。return$uri$request_uri$args$arg_<myarg>

比我走向 ,但我尝试使用的正则表达式捕获组不起作用。这是我目前的语法:rewrite

location ~ /search-redirection?keyword=.* {
   rewrite ^keyword=(.*)$ {{ .Values.frontend.environment.TARGET_URL }}$1 redirect;
} 

(这一切都发生在 Helm 配置映射中,TARGET_URL以以下结尾:search-results?q=,这就是为什么我只需要参数的值。

提前致谢!

nginx 重定向 url-重写 kubernetes-helm

评论

0赞 Richard Smith 9/2/2022
既不能也不能测试 URL 的查询字符串部分。请看这个答案locationrewrite
0赞 Bylaw 9/2/2022
感谢您的回复!我可能是错的,但这个答案实际上与我的问题并不匹配。我基本上想实现这一点: location /product { rewrite ^/product(.*)$ newsite.com/$1 redirect;(ubiq.co/tech-blog/...)我做了多次研究,这似乎是可行的。

答: 暂无答案