规则
规则一
无修饰语:完全匹配URI中除访问参数以外的内容,匹配项的内容只能是字符串,不能是正则表达式。
# 示例
location /images {
root /data/web;
}
规则二
修饰语为 “=”:完全匹配URI中除访问参数以外的内容,Linux系统下会区分大小写,Windows系统下则不会。
# 示例
location = /images {
root /data/web;
}
规则三
修饰语 “~”:完全匹配URI中除访问参数以外的内容,Linux系统下会区分大小写,Windows系统下则会无效。匹配项的内容必须是正则表达式。
# 示例
location ~ /images/.*\.(gif|jpg|png)$ {
root /data/web;
}
规则四
修饰语 “~*”:完全匹配URI中除访问参数以外的内容,不区分大小写。匹配项的内容必须是正则表达式。
location ~* \.(gif|jpg|png)$ {
root /data/web;
}
规则五
修饰语“^~”:完全匹配URI中除访问参数以外的内容,匹配项的内容如果不是正则表达式,则不再进行正则表达式测试。
location ^~ /images {
root /data/web;
}
匹配顺序
- 1)先检测匹配项的内容为非正则表达式修饰语的 location,然后再检测匹配项的内容为正则表达式修 饰语的location。
- 2)匹配项的内容为正则与非正则都匹配的 location,按照匹配项的内容为正则匹配的location 执行。
- 3)所有匹配项的内容均为非正则表达式的 location,按照匹配项的内容完全匹配的内容长短进 行匹配,即匹配内容多的location被执行。
- 4)所有匹配项的内容均为正则表达式的 location,按照书写的先后顺序进行匹配,匹配后就 执行,不再做后续检测。