Nginx 优先级匹配规则
2025-01-07 本文已影响0人
Cherry丶小丸子
location 常用的匹配规则
= # 进行普通字符精确匹配,也就是完全匹配
^~ # 表示普通字符匹配,使用前缀匹配,如果匹配成功,则不再匹配其它的正则匹配
~ # 区分大小写的匹配
~* # 不区分大小写的匹配
!~ # 区分大小写的匹配取非
!~* # 不区分大小写的匹配取非
location 匹配规则
精准匹配
location = / {
# 匹配所有以 '/' 开头的请求
}
前缀匹配
# 带有修饰符的前缀匹配
location ^~ /images/ {
# 匹配 /images/ 开头的请求,并且不再检查其他正则匹配
}
# 不带有修饰符的一般前缀匹配
location /images/ {
# 匹配所有以 '/images/' 开头的请求
}
正则匹配
location ~ \.(jpg|jpeg|png)$ {
# 正则匹配,优先级再次之
# 匹配所有以 '.jpg'、'.jpeg'、'.png' 结尾并且区分大小写的请求
}
location ~* \.(jpg|jpeg|png)$ {
# 正则匹配,优先级再次之
# 匹配所有以 '.jpg'、'.jpeg'、'.png' 结尾并且不区分大小写的请求
}
通用匹配
location / {
# 匹配所有以 '/' 开头的请求
}
location 优先级
首先精确匹配 =
其次前缀匹配 ^~
其次是按文件中顺序的正则匹配 ~ 或 ~*
然后匹配不带任何修饰符的一般前缀匹配
最后是交给通用匹配 /