nginx的location分为普通location和正则location。

在普通location中,匹配规则是最大前缀匹配。

在正则location中,匹配规则是先到先得匹配。(最先匹配的正则location会被使用,依赖于location的编写顺序)

如果既有普通location,又有正则location,那么首先匹配普通location,然后匹配正则location。(优先级为:正则 > 普通)

假如正则loation匹配到了,即便普通location也匹配到了,还是会抛弃普通,转而使用正则。(前提是:=和^~除外)

location [ = | ~ | ~* | ^~ | != | !~ | !~* ] uri {

  ......

}
05-11 14:49