位置: IT常识 - 正文

nginx location 正则匹配

编辑:rootadmin

nginx的location正则匹配是什么呢?不知道的小伙伴来看看小编今天的分享吧!
613/auto1686643643nginx location 正则匹配

Location根据类型分为两种:普通配置和正则匹配

一、 普通配置

普通location根据使用方法又分为两种,格式如下:

1. location / {

命令序列

}

解释:括号中定义的表示对当前路径及子路径下的所有对象有效。“优先级最低”

用户所有的请求都能被它匹配到。

例子:

location / {

root /web;

相应策略

}

这说明网页根目录在/web

访问的时候直接http://127.0.0.1或是域名就可以了

用户所有的请求都能被它匹配到

location /bbs {

root "/web";

相应策略

}

这就说明网页根目录是位于 /web/bbs

访问的时候直接http://127.0.0.1/bbs就可以了

当用户访问

http://127.0.0.1/bbs/

或是

http://127.0.0.1/bbs/子路径

的时候才能被上边的路径匹配到。

问题:当用户访问http://127.0.0.1/bbs/a.html时

这两段location 同时存在时如下,那么哪段配置会生效呢?

server {

listen 80;

server_name www.benet.com;

index index.html;

location / {

root /web;

}

location /bbs {

root /web;

}

结论就是,

当用户请求的(/bbs)url同时匹配到两段location时,

最大前缀生效(location /bbs生效)

如果没有这段(location /bbs) 第一段生效。

第一段相当于默认策略,因为location / 包含所有的请求,所有的请求都是以 ”/” 开始的

2. location = /路径 {

命令序列

}

解释:括号中定义的表示对当前路径有效,子路径不生效(精确匹配指定的路径不包括子路径)。“它的优先级最高。”

例子:

location = /prefix {

}

也就是用户访问www.benet.com/prefix能被上边的location匹配到,它只匹配"/prefix",

"/"下的子路不匹配。

用户访问www.benet.com/prefix/a 就不能被它匹配到

优先级最高:指的是一旦匹配到此location ,立即生效。其它location无论是否匹配到请求都不生效。

例子:

location /prefix/ {

root /;

}

location = /prefix/ {

return 500;

}

二、 正则匹配

正则匹配也分为两种:

1. location ~ URI {}

~匹配的文件是区分字符 大小写的

2.location ~* URI {} :

~*匹配的文件是不区分字符大小的

正则匹配是按照正则location编写的顺序生效的,一旦匹配成功即停止匹配到后续的location。

例子:

location ~ /bbs {

return 400;

}

location ~* /bbs {

return 500;

}

网页返回错误信息400

然后将两段配置调换一下位置

location ~* /bbs {

return 500;

}

location ~ /bbs {

return 400;

}

三、匹配顺序和生效顺序

匹配顺序和生效顺序是两个概念

当配置中出现多个locaton并且普通和正则都有,那么

1、匹配顺序是:

用户请求的URL

(1)先匹配普通location

普通location在匹配是按照编辑顺序匹配

(2)在匹配正则location

正则location在匹配时按照编辑顺序匹配

但是正则和普通locaiton不按照编辑顺序匹配

2、生效顺序

当普通和正则都存在的情况下,遵循以下原则

1.nginx开始按照编辑顺序依次匹配普通location

(1)如果匹配过程中匹配到了

"location =" :nginx会立即生效即停止后续的匹配

(2)如果没有"locaiton ="话,

如果匹配到"locatin ^~"。会停止后续的正则匹配

然后最大前缀locaiton生效

最后是location / 生效

(3) 如果以上两种location都不存在的话

nginx会匹配所有location后看后续有没有正则locaion

如果后续没有正则locaiton

然后最大前缀locaiton生效

最后是location / 生效

如果后续还有正则location

一旦匹配成功一条正则locaion,这条会生效,并且会停止后续的正则匹配,还会会覆盖前边的普通location结果

以上就是小编今天的分享了,希望可以帮助到大家。

本文链接地址:https://www.jiuchutong.com/zhishi/2769.html 转载请保留说明!

上一篇:php获取当前时间(php获取当前时间的函数)

下一篇:ppt布尔运算工具在哪里(ppt布尔运算工具在哪里2007)

  • ipadmini6屏幕材质是什么(ipadmini6屏幕材质lcd)

    ipadmini6屏幕材质是什么(ipadmini6屏幕材质lcd)

  • 苹果live照片怎么保存到电脑(苹果live照片怎么导出保存)

    苹果live照片怎么保存到电脑(苹果live照片怎么导出保存)

  • c盘哪些文件可以删除(C盘哪些文件可以压缩)

    c盘哪些文件可以删除(C盘哪些文件可以压缩)

  • 拼多多店铺名怎么改(拼多多店铺名怎么取名)

    拼多多店铺名怎么改(拼多多店铺名怎么取名)

  • 抖音互关互赞有什么用(抖音互关互赞有什么标志)

    抖音互关互赞有什么用(抖音互关互赞有什么标志)

  • 小度如何查看监控记录(小度如何查看监控记录回放)

    小度如何查看监控记录(小度如何查看监控记录回放)

  • mx330显卡什么级别(mx330显卡属于什么级别)

    mx330显卡什么级别(mx330显卡属于什么级别)

  • 毒取消订单退款要多久到账(毒取消订单钱退哪里了)

    毒取消订单退款要多久到账(毒取消订单钱退哪里了)

  • 苹果11下载软件怎么不用输入密码(苹果11下载软件面容用不了)

    苹果11下载软件怎么不用输入密码(苹果11下载软件面容用不了)

  • 钉钉能用手机直播上课吗(钉钉用手机直播可以放ppt)

    钉钉能用手机直播上课吗(钉钉用手机直播可以放ppt)

  • 电脑中的commander什么意思(电脑中的幻想世界)

    电脑中的commander什么意思(电脑中的幻想世界)

  • 荣耀v30pro防水防尘不(荣耀v30por防水级别)

    荣耀v30pro防水防尘不(荣耀v30por防水级别)

  • 网络不可上网是什么原因(网络不可上网是欠费了吗)

    网络不可上网是什么原因(网络不可上网是欠费了吗)

  • 怎样移动应用软件(怎样移动应用软件图标)

    怎样移动应用软件(怎样移动应用软件图标)

  • 手机刚删除的照片怎么恢复(手机刚删除的照片能找回来吗)

    手机刚删除的照片怎么恢复(手机刚删除的照片能找回来吗)

  • 京东如何取消预约商品(京东如何取消预约抢购)

    京东如何取消预约商品(京东如何取消预约抢购)

  • 华为9xpro指纹解锁在哪里(华为9x指纹锁在哪里)

    华为9xpro指纹解锁在哪里(华为9x指纹锁在哪里)

  • 苹果xsmax屏幕是不是2k(苹果xsmax是什么屏幕)

    苹果xsmax屏幕是不是2k(苹果xsmax是什么屏幕)

  • 淘宝店铺皇冠代表什么(淘宝店铺皇冠代码怎么弄)

    淘宝店铺皇冠代表什么(淘宝店铺皇冠代码怎么弄)

  • 独显没有vga接口怎么办(独立显卡没有dvi接口)

    独显没有vga接口怎么办(独立显卡没有dvi接口)

  • Windows11 操作系统最低硬件要求详细说明(win 11操作系统)

    Windows11 操作系统最低硬件要求详细说明(win 11操作系统)

  • internet.exe是什么病毒吗 internet进程信息查询(贴吧热门评论)

    internet.exe是什么病毒吗 internet进程信息查询(贴吧热门评论)

  • 使用“Opencv“时遇到terminate called after throwing an instance of ‘cv::Exception‘问题的解决方案(opencv如何使用)

    使用“Opencv“时遇到terminate called after throwing an instance of ‘cv::Exception‘问题的解决方案(opencv如何使用)

  • look命令  查询单词(look 查明)

    look命令 查询单词(look 查明)

  • 02-MyBatis-Plus

    02-MyBatis-Plus

  • 增值税留抵税额账务处理
  • 不是公司的车能抵扣进项吗
  • 收入准则范围内
  • 单位当月未扣社保怎么处理分录?
  • 研发费用可以列支成本吗
  • 网上申购到发行多长时间
  • 完税证明可以代替契税发票吗
  • 年报和汇算清缴报表数字不一致
  • 非流动资产处置损失包括哪些
  • 增值税普通发票有什么用
  • 企业所得税该如何计算
  • 购入工程物资计入
  • 企业增值税年底怎么结转
  • 一般纳税人进货收到普通发票
  • 哪些税费计入应缴税费
  • 研发无形资产摊销加计扣除计算
  • 香港公司在大陆设立子公司
  • 正常消耗的直接材料计入当期损益
  • 财务会计怎么学好
  • 领专票需要带什么东西
  • 设备安装公司如何经营
  • 生产测试是指什么
  • 公务车加油入什么科目
  • linux 匹配字符
  • php pdo分页
  • linux的vi编辑器怎么用
  • 计算机与自动化的关系
  • smart制作
  • PHP:proc_terminate()的用法_命令行函数
  • 联营企业和合营企业长期股权投资的方式
  • 个体工商户加盟咖啡店
  • 如何做商品批发
  • imagestring php
  • vue3props用法
  • Linux(CentOS)下PHP扩展PDO编译安装的方法
  • php文件用什么运行
  • 公司车辆出售需要什么手续
  • macps字体怎么导入
  • 什么是企业管理的首要职能
  • 小企业会计准则调整以前年度费用分录
  • 总公司发票可以从分公司付款吗
  • 租赁合同印花税怎么申报缴纳
  • phpcms使用教程
  • 汽车折旧年限是几年如何计算
  • 其他应收款资产类
  • 投资者控股性质
  • sqlserver2005连接到服务器
  • 公积金贷方有余额如何做调整分录
  • 机器设备可以作为出资方式吗
  • 小规模纳税人季报需要报什么
  • 所得税申报的资产总额是哪里的数据
  • 包装物的账务处理例题
  • 发票类别包含哪几种
  • 保修期间免费提车可以吗
  • 企业的银行转账多久到账
  • 免税发票怎么抵扣
  • 员工体检的发票在哪里开
  • 税金及附加没有设置二级科目,有啥影响吗
  • 自产自销的茶叶公司怎么做账
  • 会计基本前提包括会计主体货币计量资料完整和经济效益
  • 存货明细账余额合计与存货总账余额相同
  • mac怎么用bootcamp
  • win7系统修改
  • windows 8.1更新
  • mac字体发虚解决办法
  • windows defender 图标怎么从任务栏删除
  • mac的替换在哪里
  • win10右下角的图标点不开
  • linux怎么查看硬件信息
  • win8程序无响应频繁
  • jquery浮动窗口
  • vue mint-ui 官网
  • nodejs xhr
  • Node.js中的什么模块是用于处理文件和目录的
  • python100行代码案例
  • 扩展坞哪个牌子比较好
  • 财政拨款是否需交税
  • 火药概念股有哪些
  • 沥青进口需要配额吗
  • 山西省网上营业执照申请官网?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设