2025年4月15日 星期二 乙巳(蛇)年 正月十六 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > Nginx

nginx路由匹配规则解析

时间:06-19来源:作者:点击数:29

一、规则分类

  • = 精确匹配             (优先级最高)
  • ^~ 精确前缀匹配         (优先级仅次于=)
  • ~ 区分大小写的正则匹配   (优先级次于^~)
  • ~* 不区分大小写的正则匹配   (优先级次于^~)
  • /uri 普通前缀匹配            (优先级次于正则)
  • / 通用匹配            (优先级最低)

二、规则详解

  1. 精确匹配

精确匹配使用 = 表示,nginx进行路由匹配的时候,精确匹配具有最高的优先级,请求一旦精确匹配成功nginx会停止搜索其他到匹配项。

配置实例:

  • location = /test {
  • }
  1. 精确前缀匹配

精确前缀匹配的优先级仅次于精确匹配,nginx对一个请求精确前缀匹配成功后,停止继续搜索其他到匹配项。

配置实例:

  • location ^~ /test_a {
  • }
  1. 正则匹配

精确和精确前缀匹配失败后,nginx会尝试进行正则匹配,正则匹配分为区分大小写和不区分大小写两种,分别用 ~ 和 ~* 表示;需要说明的是正则匹配之间没有优先级一说,而是按照在配置文件中出现的顺序进行匹配,一旦匹配上一个,就会停止向下继续搜索

配置实例:

  • # 区分大小写
  • location ~ /test_a {
  • }
  • # 不区分大小写
  • location ~* /test_A {
  • }
  1. 普通前缀匹配

普通前缀匹配前面没有任何修饰符,直接在location后写需要匹配的uri,它的优先级次于正则匹配

配置实例:

  • location /test {
  • }
  1. 通用匹配

通用匹配使用一个 / 表示,可以匹配所有请求,一般nginx配置文件最后都会有一个通用匹配规则,当其他匹配规则均失效时,请求会被路由给通用匹配规则处理;如果没有配置通用匹配,并且其他所有匹配规则均失效时,nginx会返回 404 错误。

配置实例:

  • location / {
  • }
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门