语法:

location [=|~|~*|^~] /uri/ { 
  # ... 
}

规则:

  • / 开头表示通用匹配(任何请求都会匹配到)
  • = 开头表示精确匹配
  • ^~ 开头表示uri以某个常规字符串开头(如url路径)
  • ~ 开头表示区分大小写
  • ~* 开头表示不区分大小写
  • !~ 开头表示区分大小写不匹配
  • !~* 开头表示不区分大小写不匹配

优先级:

首先精确匹配 = -> 其次以xx开头匹配^~ -> 然后是按文件中顺序的正则匹配 -> 最后是交给 / 通用匹配。

当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

示例:

location = / {
   #规则1
}
location = /user {
   #规则2
}
location ^~ /static/ {
   #规则3
}
location ~ \.(gif|jpg|png|js|css)$ {
   #规则4,注意:是根据括号内的大小写进行匹配。括号内全是小写,只匹配小写
}
location ~* \.png$ {
   #规则5
}
location !~ \.html$ {
   #规则6
}
location !~* \.html$ {
   #规则7
}
location / {
   #规则8
}

欢迎关注:http://fenxianglu.cn/


anchovy
1.9k 声望89 粉丝