Location匹配规则 

语法规则: 【= | ^~ | ~ | ~* | / | /uri 】

 location = /uri                 = 表示精确匹配,只有完全匹配上才能生效,若找到,停止搜索; 

 location ^~ /uri               ^~开头表示对URL路径进行前缀匹配,并且在正则匹配之前,若找到,停止搜索; 

 location ~ pattern           ~开头表示区分大小写的正则匹配,按配置文件顺序匹配; 

 location ~* pattern          ~*开头表示不区分大小写的正则匹配,按配置文件顺序匹配; 

 location /uri                    不带任何修饰符,表示前缀匹配,在正则匹配之后; 

 location /                        通用匹配,任何未匹配到其他location的请求都会匹配到,相当于default; 


多个location配置的情况匹配顺序为

  • 首先精确匹配 = ;

  • 其次前缀匹配 ^~;

  • 其次是按照配置文件中的正则匹配; 

  • 然后匹配不带任何修饰符的前缀匹配; 

  • 最后交给/通用匹配;