location [=|~|~*|^~] pattern { }
参数解释:
=
开头表示精确匹配^~
开头表示uri以某个常规字符串开头,理解为匹配url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。~
开头表示区分大小写的正则匹配~*
开头表示不区分大小写的正则匹配!~
和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则/
通用匹配,任何请求都会匹配到。location匹配类型 location匹配之精准匹配
location = / { #规则A } location = /login { #规则B } location匹配之正则匹配 location ^~ /static/ { #规则C } location ~ \.(gif|jpg|png|js|css)$ { #规则D } location ~* \.png$ { #规则E } location !~ \.xhtml$ { #规则F } location !~* \.xhtml$ { #规则G } location匹配之一般匹配 location / { #规则H }
location配置优先级