nginx
中location
的匹配模式有以下几种:
精确匹配:以
=
开头,只有完全匹配才能生效,例子location = /uri
非正则匹配:以
^~
开头,^
表示非、~
表示正则,例子location ^~ /uri
-
正则匹配:
- 以
~
开头,表示区分大小写的正则匹配,例子location ~ pattern
- 以
!~
开头,表示区分大小写不匹配的正则,例子location !~ pattern
- 以
~*
开头,表示不区分大小写的正则匹配,例子location ~* pattern
- 以
!~*
开头,表示不区分大小写不匹配的正则,例子location !~* pattern
- 以
普通匹配:不带任何修饰符,例子
location /uri
、location /
我们暂且把非正则匹配和普通匹配称为前缀匹配