location匹配相关说明:
- location匹配规则:[ = | ^~ | ~ | ~* ] /uri/ { … }
- nginx中location分为:普通location和正则location
- 普通location是以 = 或者 ^~为前缀或者没有任何前缀(包括 /)
- 正则location是以 ~ 或 ~* 等为前缀
- ~ / ~* 分别为:区分大小写匹配 /不区分大小写匹配
- ~ 以xx开头
- $匹配字符串的结束位置
- .*中 . 表示任意字符 * 表示任意数量
- \ .用来转义 . 即 \ .匹配 .
- (a | b | c) 匹配任意一个值即可
location匹配优先级情况说明:优先级参考以下顺序
注:如果一个url同时适合多个匹配规则,则以第一个为准*
- 普通location中= 精确匹配
- 普通location中url精确匹配
- 普通location中^~匹配
- 正则匹配
- 通用匹配
常见案例:
# 普通字符匹配:以images为前缀
location ^~ /images/ {
root /huxm/resources/;
}
# 正则匹配:包含images的
location ~ images {
root /huxm/resources/;
}
# 正则匹配: xx.jpg 或xx.png 或 xx.fif
location ~ .*\.(jpg|png|gif)$ {
root /huxm/resources/images/;
}
# 正则匹配:访问index.html
location ~ "index.html" {
root /huxm/resources/html/dist/;
}
网友评论