什么是 nginx location ~* 和 ~

什么是 nginx location ~* 和 ~

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

location ~ {some regex}

location ~* (some regex}

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

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

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

location / {
    #This will be everything except /api/postdataV1 I think
}

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

谢谢,Dean

答案1

正如所述nginx 文档~*regex 用于不区分大小写的匹配,而~用于区分大小写。

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

location /api/postdata {
}

location / {
}

相关内容