我正在尝试更好地理解 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 / {
}