0%

nginx配置文件中location配置

关于Nginx的location路径映射

优先级关系如下:

  • location = /路径:优先级最高,精准匹配,一旦匹配, 不再去找其他匹配项。
  • location ^~ /路径:优先级次之,前缀字符串匹配,一旦匹配, 不再去找其他匹配项。
  • location ~ 正则表达式:如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。 正则匹配时proxy_pass只能是ip:port,不能带URI
  • location ~* 正则表达式:和location ~ 正则表达式相同,不过当前方式不区分大小写。
  • location /路径:常规方式,匹配前缀,优先级最低。

举个栗子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 直接匹配
location = / {
# 精准匹配
}

# 匹配开头路径
location ^~ /images/ {
# 匹配所有以/images开头的路径,匹配后,不再删选其他选项
}

# 正则匹配
location ~ /xxx {
# 匹配所有以/xxx开头的路径
}
# 正则匹配后缀
location ~* \.(gif|jpg|png)$ {
# 匹配以gif或者jpg或者png为结尾的路径
}


# 常规匹配
location /xxx {
# 匹配所有以/xxx开头的路径
}

# 全部通配
location / {
# 匹配全部路径
}