符号
= 开头表示精确匹配
^~ 开头表示url以某个常规字符串开头,理解为匹配url路径即可,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则 ^$ /static/ /aa 匹配到
~ 区分大小写的正则匹配
~* 不区分大小写的正则匹配
!~ !~* 区分大小写不匹配及不区分大小写不匹配的正则
/ 通用匹配,任何请求都会匹配到
注:多个 location 配置的情况下匹配顺序为首先匹配 = 其次匹配 ^~ 其次是按文件中的顺序的正则匹配,最后是交给 / 通用匹配。 当匹配成功的时候,停止匹配,按当前匹配规则处理请求。
location = /login {
#规则A
}
location = /login {
#规则B
}
location ^~ /static/ {
#规则C
}
location ~ \.(gif|jpg|png|js|css)$ {
#规则D
}
location ~* \.png$ {
#规则E
}
location !~ \.xhtml$ {
#规则F
}
location !~* \.xhtml$ {
#规则G
}
location / {
#规则H
}
Nginx的Location指令用于配置URL路由,其匹配规则包括精确匹配(=)、路径开头(^~)、区分/不区分大小写的正则(~,~*,!~,!~*)以及通用匹配(/)。匹配顺序优先级为:精确>^~>正则(按文件顺序)>通用。文章列举了多个Location示例,如/login、^~/static/、~.(gif|jpg|png|js|css)$等,展示了不同规则的应用。
2万+

被折叠的 条评论
为什么被折叠?



