nginx

Nginx 优先级匹配规则

2025-01-07  本文已影响0人  Cherry丶小丸子

nginx 匹配规则

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 优先级
首先精确匹配 =
其次前缀匹配 ^~
其次是按文件中顺序的正则匹配 ~ 或 ~*
然后匹配不带任何修饰符的一般前缀匹配
最后是交给通用匹配 / 

如果是同级别优先级,则根据 书写顺序匹配长度 进行匹配

上一篇 下一篇

猜你喜欢

热点阅读