位置: 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)

  • 华为荣耀9x有放大镜功能吗(华为荣耀9x有放大镜望远镜功能吗)

    华为荣耀9x有放大镜功能吗(华为荣耀9x有放大镜望远镜功能吗)

  • 便捷访问是干什么的(便捷访问是干啥的)

    便捷访问是干什么的(便捷访问是干啥的)

  • 充值的快币还能提现吗(充了的快币能不能退回来)

    充值的快币还能提现吗(充了的快币能不能退回来)

  • 华为nova7发烫(nove7发烫)

    华为nova7发烫(nove7发烫)

  • 微信nfc有什么用途(微信nfc干嘛用的)

    微信nfc有什么用途(微信nfc干嘛用的)

  • linux是系统软件吗(linux系统软件安装和卸载的常见方法)

    linux是系统软件吗(linux系统软件安装和卸载的常见方法)

  • 佳能打印机三角黄灯一直亮(佳能打印机三角灯和黑色墨水灯闪烁)

    佳能打印机三角黄灯一直亮(佳能打印机三角灯和黑色墨水灯闪烁)

  • 苹果贴膜用力按压屏幕会坏吗(苹果手机贴膜时用劲摁伤屏吗)

    苹果贴膜用力按压屏幕会坏吗(苹果手机贴膜时用劲摁伤屏吗)

  • 手机WPS闪退(手机wps闪退怎么恢复文件)

    手机WPS闪退(手机wps闪退怎么恢复文件)

  • 面容id显示稍后设置(面容id不可以用 稍后尝试)

    面容id显示稍后设置(面容id不可以用 稍后尝试)

  • mate30会搭载鸿蒙系统吗(华为mate30可以搭载鸿蒙系统吗?)

    mate30会搭载鸿蒙系统吗(华为mate30可以搭载鸿蒙系统吗?)

  • 微信健康二维码在哪里(微信健康二维码怎么弄)

    微信健康二维码在哪里(微信健康二维码怎么弄)

  • 锐龙53500u相当于i几(cpuamd锐龙53500u)

    锐龙53500u相当于i几(cpuamd锐龙53500u)

  • 小米手表color内存多大(小米手表内部)

    小米手表color内存多大(小米手表内部)

  • wifi不稳定跟路由器有关系吗(wifi联网不稳定)

    wifi不稳定跟路由器有关系吗(wifi联网不稳定)

  • airpods电量显示不准(airpods电量显示异常)

    airpods电量显示不准(airpods电量显示异常)

  • 苹果11自带美颜吗(苹果11自带美颜相机吗)

    苹果11自带美颜吗(苹果11自带美颜相机吗)

  • 华为3e怎么恢复出厂设置(华为3e恢复出厂设置怎么打开)

    华为3e怎么恢复出厂设置(华为3e恢复出厂设置怎么打开)

  • 微信星标好友的含义(微信星标好友的意思)

    微信星标好友的含义(微信星标好友的意思)

  • sd卡就是内存卡吗(sd卡是内部存储器吗)

    sd卡就是内存卡吗(sd卡是内部存储器吗)

  • 齐白石的作品名称(齐白石的作品名画)

    齐白石的作品名称(齐白石的作品名画)

  • 58同城查看完整号码(58同城怎么看浏览记录)

    58同城查看完整号码(58同城怎么看浏览记录)

  • 笔记本i78750h有必要吗(笔记本电脑i78750怎么样)

    笔记本i78750h有必要吗(笔记本电脑i78750怎么样)

  • oppo reno2支持5g吗(reno2z支持5g)

    oppo reno2支持5g吗(reno2z支持5g)

  • oppo手机内存在哪里看(vivo怎么看手机内存)

    oppo手机内存在哪里看(vivo怎么看手机内存)

  • 小米6x有没有耳机孔(小米6x有没有耳机接口)

    小米6x有没有耳机孔(小米6x有没有耳机接口)

  • 电脑桌面比例突然变大(电脑桌面比例突然变小)

    电脑桌面比例突然变大(电脑桌面比例突然变小)

  • 房地产企业利息资本化的条件
  • 残保金季报要填上年职工人数
  • 处置废品收入需要开票吗东奥
  • 招标押金如何做账务处理?
  • 一般纳税人应交增值税怎么算
  • 应收账款转为其他应收款
  • 简易计税项目税金要计入成本吗
  • 房地产企业土地增值税清算
  • 营改增 旅游服务
  • 收到公众号申请的小额打款认证怎么入账?
  • 招标代理公司转让
  • 小规模纳税人开具1%增值税专用发票可以抵扣吗
  • 房地产开发临时用电
  • 证券清算款是什么科目
  • 应付债券的利息调整怎么计算
  • 自开租赁费发票税率是多少?
  • 金税控系统发票打印设置
  • 源泉扣缴税率是多少
  • 政府部门纳税人识别号查询
  • 金税盘忘记清卡了
  • 公司购买宿舍楼申请书
  • 勾选认证的发票在哪里能查询
  • 房企结转收入
  • 个人出租住房如何倒算开票金额
  • 公司开年会的费用谁承担
  • 如何使用腾讯电子签维护自己的权益
  • win7系统没有桌面图标怎么办
  • 在win7中,为什么打开盘符在新窗口中出现?
  • 流动资产损毁报废收益
  • 累积带薪缺勤的例题
  • 增值税专用发票有几联?
  • 外购货物应抵扣的进项税额
  • 苹果客服人工24小时
  • PHP:iconv_strpos()的用法_iconv函数
  • 终身职业技能培训
  • 建筑业营改增后税务问题
  • php文件上传后只显示了路径怎么办啊
  • 失控发票成本转出怎么做账
  • 序列标注技术应用
  • 机器学习实战练手项目
  • fsck命令详解
  • python,array
  • 财政拨付注册资金怎么填
  • 结转生产成本是负数怎么办
  • 普通发票密码区出格了能用吗
  • 资产处置费用是资产类会计科目吗
  • 营业收入小于利息收入
  • 股权转让主要交什么税费
  • 免交增值税应该计入什么科目
  • 费用报销单如何粘贴票据
  • 工资能否当月计提当月发放
  • 非税收入一般缴款书是什么意思
  • 赞助支出属于什么科目
  • 认缴制不会带来的账务问题
  • 其他应收款的二级科目
  • 未分配利润转增股本法人股东要交税吗
  • 注销公司需要多长时间完成
  • 企业建账的流程有哪些
  • win7卸载KB2952664/KB3035583补丁的详细图文教程
  • xp 跳过 chkdsk
  • windows推送
  • linux0.01编译
  • 通过扣缴义务人申报和综合所得年度自行申报
  • opengl3d
  • 三个不常见的词语有哪些
  • cocos2d教程
  • js模拟touch
  • js多选
  • javascript实现3D切换焦点图
  • unity3d赛车游戏毕业设计
  • 快速解决偏头痛的6个方法
  • jquery获取多个元素
  • js面向对象编程实例
  • 税务局三级主办是副科吗
  • 定额发票网上查询
  • 上海市税务局招聘
  • 扬帆把舵怎么读
  • 建筑劳务分包业务范围
  • 保险公司的人可以查到买保险的人都买了什么保险吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设