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

  • 励志小故事精选(励志小故事精选100字)

    励志小故事精选(励志小故事精选100字)

  • 钉钉怎么退出上一个公司(钉钉怎么退出上一家公司账号)

    钉钉怎么退出上一个公司(钉钉怎么退出上一家公司账号)

  • 京东退款后红包返还吗(京东退款后红包会过期吗)

    京东退款后红包返还吗(京东退款后红包会过期吗)

  • steam怎么从香港改回大陆(steam怎么从香港改回国区)

    steam怎么从香港改回大陆(steam怎么从香港改回国区)

  • keil如何在c文件中添加h文件(keil怎么运行c语言)

    keil如何在c文件中添加h文件(keil怎么运行c语言)

  • 苹果11双击亮屏的方法是什么(苹果手机双击亮屏怎么关闭)

    苹果11双击亮屏的方法是什么(苹果手机双击亮屏怎么关闭)

  • charmf充电宝是街电吗(充电宝cenai是什么牌子)

    charmf充电宝是街电吗(充电宝cenai是什么牌子)

  • 微信表情刷屏被限制多久(微信表情刷屏被限制是什么情况)

    微信表情刷屏被限制多久(微信表情刷屏被限制是什么情况)

  • 京东京品手机是什么意思(京品手机是什么)

    京东京品手机是什么意思(京品手机是什么)

  • 抖音极速版提现为什么老是退回(抖音极速版提现有风险吗)

    抖音极速版提现为什么老是退回(抖音极速版提现有风险吗)

  • 华为nova7pro来电闪光灯怎么设置(华为nova7pro来电闪光灯怎么开)

    华为nova7pro来电闪光灯怎么设置(华为nova7pro来电闪光灯怎么开)

  • 红米微信下载安装不了(红米微信最新版本下载)

    红米微信下载安装不了(红米微信最新版本下载)

  • 微信没有卡包功能怎么办(微信没有卡包功能,怎样设置)

    微信没有卡包功能怎么办(微信没有卡包功能,怎样设置)

  • 淘宝中评对卖家的影响(淘宝中评对卖家有用吗)

    淘宝中评对卖家的影响(淘宝中评对卖家有用吗)

  • ps自带的图案在哪里找(ps里面的图案在哪)

    ps自带的图案在哪里找(ps里面的图案在哪)

  • 如何用支付宝坐地铁(如何用支付宝坐北京地铁)

    如何用支付宝坐地铁(如何用支付宝坐北京地铁)

  • vivo手机克隆在哪里找(vivo手机克隆在哪个里面呢)

    vivo手机克隆在哪里找(vivo手机克隆在哪个里面呢)

  • 在抖音里自己的作品可以删除吗(在抖音里自己的作品已删别人与你合拍)

    在抖音里自己的作品可以删除吗(在抖音里自己的作品已删别人与你合拍)

  • 抖音的复制链接去哪了(抖音的复制链接怎么找不到了)

    抖音的复制链接去哪了(抖音的复制链接怎么找不到了)

  • 安卓手机airpods盒子电量怎么看(安卓手机airpods怎么关闭触控)

    安卓手机airpods盒子电量怎么看(安卓手机airpods怎么关闭触控)

  • qq开启消息免打扰对方知道吗(qq开启消息免打扰对方打电话)

    qq开启消息免打扰对方知道吗(qq开启消息免打扰对方打电话)

  • vivo手机如何补电(VIVO手机如何补电funtouch)

    vivo手机如何补电(VIVO手机如何补电funtouch)

  • 屏幕管理时间怎么取消(屏幕管理时间怎么看)

    屏幕管理时间怎么取消(屏幕管理时间怎么看)

  • vue实现本地预览word(docx)、excel(xlsx)、pdf文件(前端vue实现预览excel)

    vue实现本地预览word(docx)、excel(xlsx)、pdf文件(前端vue实现预览excel)

  • win11系统打不出中文只显示字母该怎么办呢?(win11系统打不出顿号)

    win11系统打不出中文只显示字母该怎么办呢?(win11系统打不出顿号)

  • Redis的两种持久化方案 RDB & AOF(redis两种持久化方式的优缺点)

    Redis的两种持久化方案 RDB & AOF(redis两种持久化方式的优缺点)

  • 增量留抵退税会计处理
  • 安全生产费用怎么入账
  • 工程材料票抵扣比例
  • 可转债如何不转换的财务处理
  • 进口商品仓库
  • 公司代缴个税分录
  • 计提代扣个人工会经费怎么做账
  • 企业呆账的处理方式
  • 服务业暂估成本分录
  • 外购商品用于促销能抵扣吗
  • 不能税前扣除的费用有哪些
  • 小苏打税收分类
  • 有线电视基本收视维护费免征增值税
  • 电子承兑到期收款怎么做账务
  • 公司参展费取得发票怎样做账?
  • 企业支付宝对公打款
  • 二手房个人所得税和增值税
  • 增值税申报错误已经扣税怎么处理
  • 收款收据怎么写 样本
  • 股票溢价净收入计入
  • 著作权出售后,属于自己的吗
  • 能开运费发票吗?
  • 开了红字发票销售方怎么账务处理?
  • Win11截图工具怎么设置快捷键
  • php制作一个表单
  • 金针菜的养殖方法和技术
  • PHP:session_set_cookie_params()的用法_Session函数
  • PHP:Memcached::append()的用法_Memcached类
  • 老板垫资如何做账务处理
  • 收到公司投资属于什么会计科目
  • 金融工具减值会影响什么
  • window php安装
  • 加工制造业包括
  • 多开票金额会计分录
  • 以前年度未入账固定资产账务处理
  • 佛法戒律论
  • 税控盘每年的服务费可以抵扣吗
  • php调用外部程序
  • 左右等宽上下等高的字有哪些
  • 新版python
  • 是否就地汇总纳税
  • 上月增值税报表还可以更正吗
  • 权益法转换为成本法
  • python sockets
  • 总分机构纳税
  • 财务报表年报应怎么做
  • 国际货运代理企业不得从事的业务是
  • 劳务分包劳务费付款比例
  • 增值税税控系统技术维护费怎么抵扣
  • 资产负债表可以反映的具体信息有
  • 衍生工具的作用是什么
  • 认证未抵扣往哪里记
  • 企业增值税额
  • 库存商品盘盈是什么意思
  • 预付账款怎么做坏账
  • 新公司成立第一次会议内容
  • 缴纳工会筹备金应该记什么科目
  • 买断式与回购式
  • mysql 5.7.13 winx64安装配置教程
  • win10系统电脑如何共享
  • linux的rz sz命令
  • qq2440启动linux后插入u盘出现usb 1-1: device descriptor read/64, error -110,usb 1
  • gcuservice.exe
  • linux文件后缀名解释
  • window1020h2
  • win10系统怎么配置交换机
  • 计算机无法从休眠
  • bootstrap怎么用
  • [android] listView解析
  • js跨域是什么意思
  • div.remove
  • python怎么发送
  • 很全面的成语
  • js实现vue
  • 电子专票票种核定
  • 社保扣缴客户端下载
  • 金税盘显示证书口令错误
  • 演员个人所得税2023
  • 国家税务总局39号文
  • 怎么注册山东省政府采购网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设