nginx 位置是什么 ~* 和 ~

Dea*_*ler 19 nginx

我试图更好地理解 nginx 并尝试形成一个正则表达式,其中每个不匹配的 url 都/api/postdataV1被路由到不同的服务器集群。我一直在例子中看到这两件事,没有解释

location ~ {some regex}

location ~* (some regex}
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是这些是什么~~*(我认为~只是意味着我指定一个正则表达式?),但怎么样~*呢?

我想我想要的是这个。这是正确的吗?

location ~ ^/api/postdataV1$ {
    #matches to this route to where I want
}

location / {
    #This will be everything except /api/postdataV1 I think
}
Run Code Online (Sandbox Code Playgroud)

这是正确的吗?但是~*……我不明白那个

谢谢,院长

And*_*sov 20

nginx 文档中所述~*正则表达式用于不区分大小写的匹配并且~区分大小写。

您的语法没问题,但可以在没有正则表达式的情况下重写(最短位置在请求匹配中排在最后):

location /api/postdata {
}

location / {
}
Run Code Online (Sandbox Code Playgroud)