gpt4 book ai didi

regex - 如何匹配问号“?”作为nginx.conf位置上的regexp

转载 作者:行者123 更新时间:2023-12-03 13:20:23 25 4
gpt4 key购买 nike

我想匹配问号“?”作为nginx.conf位置上的regexp。

例如,我要匹配的URL模式是/ something?foo = 5或/ something?bar = 8(只能更改参数)。

因为nginx采用RCPE,所以我可以在nginx.conf上写以下位置:

location ~ ^/something\?.* {
}


以上与网址格式不符。我怎样才能做到这一点?

另外,以下不是我的期望。

location ~ ^/something?.* {
}


它会匹配我不期望的/ something_foo_bar_buzz。

最佳答案

nginx位置块根本不匹配查询字符串。所以这是不可能的。

位置
该指令允许根据URI进行不同的配置。

在nginx中,有一个内置变量$ uri,位置块与之匹配。例如,提出要求

http://www.example.com/app/login.php?username=xyz&password=secret

$ uri值是以下字符串:
 /app/login.php

并将query_string存储在nginx变量$ args中:
username=xyz&password=secret

做某事。查询字符串,您可以执行以下操作
if ($args ~ username=xyz) {
# do something for requests with this query string
}

但是要小心, IF is Evil

关于regex - 如何匹配问号“?”作为nginx.conf位置上的regexp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15713934/

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