gpt4 book ai didi

regex - 不忽略请求参数的 nginx 规则

转载 作者:行者123 更新时间:2023-12-01 12:53:08 25 4
gpt4 key购买 nike

好的,我只想在每次调用 /search 时添加参数:

rewrite ^/search$ /search?foo=bar redirect;

看似简单的逻辑,但它会导致无限循环,因为 nginx 单独获取参数,因此 $ 不再起作用。 /search?foo=bar 一次又一次地触发它,因为它愚蠢地匹配。

那么在不触及 $args 的情况下是否有任何可行的解决方案?

(我想使用正则表达式,因为匹配规则有点复杂,但基本上是我想要的)

最佳答案

根据 the nginx wiki , "rewrite 仅对路径进行操作,而不对参数进行操作。"

所以也许关键是只有在找不到参数时才重写。

    if ($args !~ "(^|&)foo=") {
rewrite ^/search$ /search?foo=bar redirect;
}

关于regex - 不忽略请求参数的 nginx 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10997356/

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