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

  • iphone13怎么关机(iphone13怎么关机和重启手机)

    iphone13怎么关机(iphone13怎么关机和重启手机)

  • 余额宝明细有删除的办法吗(余额宝明细有删除记录吗)

    余额宝明细有删除的办法吗(余额宝明细有删除记录吗)

  • 天猫精灵音响怎么连接手机(天猫精灵音响怎么连接蓝牙耳机)

    天猫精灵音响怎么连接手机(天猫精灵音响怎么连接蓝牙耳机)

  • 淘宝怎么设置自动回复信息(淘宝怎么设置自动发货)

    淘宝怎么设置自动回复信息(淘宝怎么设置自动发货)

  • 华为mate30pro打电话对方听不见(华为mate30pro打电话黑屏怎么调)

    华为mate30pro打电话对方听不见(华为mate30pro打电话黑屏怎么调)

  • 小爱同学3.0版本什么时候更新(小爱同学3.0版本下载安装)

    小爱同学3.0版本什么时候更新(小爱同学3.0版本下载安装)

  • 如何删除qq表情包中我添加过的表情(如何删除qq表情包图片)

    如何删除qq表情包中我添加过的表情(如何删除qq表情包图片)

  • 微信怎么打出满屏爱心(微信怎么打出满屏抱抱)

    微信怎么打出满屏爱心(微信怎么打出满屏抱抱)

  • qq说说点赞图标怎么设置(qq说说点赞图标免费)

    qq说说点赞图标怎么设置(qq说说点赞图标免费)

  • 小米5g专属ota卡是干什么用的(小米5g专用ota卡)

    小米5g专属ota卡是干什么用的(小米5g专用ota卡)

  • 电脑键盘括号按哪个键(电脑键盘上按括号怎么按)

    电脑键盘括号按哪个键(电脑键盘上按括号怎么按)

  • 竖屏是什么意思(什么是竖屏模式)

    竖屏是什么意思(什么是竖屏模式)

  • 苹果11怎么不能设置面容ID了(苹果11怎么不能录屏了)

    苹果11怎么不能设置面容ID了(苹果11怎么不能录屏了)

  • 闹钟没有设置却天天响(闹钟没有设置却响了)

    闹钟没有设置却天天响(闹钟没有设置却响了)

  • 应用程序无法启动0xc0150002(应用程序无法启动(0xc0000007b))

    应用程序无法启动0xc0150002(应用程序无法启动(0xc0000007b))

  • 微信步数是0是不是关了(微信步数是0是怎么回事)

    微信步数是0是不是关了(微信步数是0是怎么回事)

  • 苹果7p手机分屏设置(苹果7p手机分屏功能)

    苹果7p手机分屏设置(苹果7p手机分屏功能)

  • qq相册怎么上传照片(qq相册怎么上传大视频文件)

    qq相册怎么上传照片(qq相册怎么上传大视频文件)

  • 华为荣耀20自带钢化膜吗(华为荣耀20自带浏览器是哪个)

    华为荣耀20自带钢化膜吗(华为荣耀20自带浏览器是哪个)

  • eps用ps打开能修改吗(eps格式在ps中如何打开是可以编辑的)

    eps用ps打开能修改吗(eps格式在ps中如何打开是可以编辑的)

  • 怎么下载老版本微信(怎么下载老版本的软件)

    怎么下载老版本微信(怎么下载老版本的软件)

  • 手机如何网上订酒店(手机如何网上订火车票)

    手机如何网上订酒店(手机如何网上订火车票)

  • 小米analytics能删吗(小米手机怎么删除小米社区)

    小米analytics能删吗(小米手机怎么删除小米社区)

  • 苹果8plus怎么分屏(苹果8plus怎么分身)

    苹果8plus怎么分屏(苹果8plus怎么分身)

  • xs3d touch怎么使用

    xs3d touch怎么使用

  • 手机怎么剪切歌曲(手机怎么剪切歌单)

    手机怎么剪切歌曲(手机怎么剪切歌单)

  • 微单取景器重要吗(对于微单来说取景器重要吗)

    微单取景器重要吗(对于微单来说取景器重要吗)

  • zabbix_sender命令  zabbix发送器工具(zabbix agent启动命令)

    zabbix_sender命令 zabbix发送器工具(zabbix agent启动命令)

  • 安装多版本node(安装多版本chrome)

    安装多版本node(安装多版本chrome)

  • 海南增值税发票图片
  • 怎么计算土地增值税的相关税金
  • 企业所得税的征税对象包括
  • 收到货款发货了没开发票怎么入账
  • 四联发票都需要盖什么章
  • 公司所得税费用怎么算报多少钱
  • 小规模纳税人发票怎么做账
  • 借贷记账法试算平衡的计算公式有
  • 购房契税应该交给谁
  • 企业股权转让留存收益可以扣除吗
  • 汽车道路救援费用多少
  • 广告费结转年限有没有时间限制的
  • 研发设备一次性扣除账务处理
  • 账本印花税如何申报缴纳
  • 增值税抵扣凭证包括桥闸通行费发票
  • 无运输工具承运业务按何税目缴纳增值税
  • 实收资本的印花税减半征收吗
  • 税务核定利润的标准
  • 企业向境外支付货款填写
  • 生产企业出租设备如何开票
  • 烟丝消费税组成计税价格
  • 个税申报初始密码一定要去所属税局看吗
  • 如何防止程序被关闭
  • 以前年度损益调整借贷方向
  • 经营负债是指什么
  • 微pe工具箱怎么用
  • php图片处理尺寸
  • 电脑重装系统怎么激活
  • thinkphp limit
  • 个人投资额是什么意思
  • 小规模发票一般怎么开
  • 销售方怎么申请红字信息表
  • 法定盈余公积金达到注册资本的多少时不再提取
  • 免税需要什么条件
  • 管家婆实物仓库怎么用
  • vue3 element-plus
  • 营改增工程计价规则
  • print函数php
  • 自学前端好学吗
  • php使用什么开发工具
  • 交通银行手机银行网页版
  • 命令start
  • 应收账款坏账准备计提方法
  • 应付职工薪酬包括哪些二级科目
  • MySQL慢查询优化面试问题
  • 固定资产不折旧不摊销怎么做账
  • 纳税人应按照当期可抵扣进项税额的10%
  • 招待客户的交通费可以算招待费吗
  • 电脑买回来可以直接用吗
  • 汇算清缴银行手续费扣除比例是多少
  • 低值易耗品可以报废吗
  • 收到某单位投入机器一台
  • 小微企业免税销售额怎么填
  • 母子公司可以合并吗
  • 支付水电费的会计
  • 累计减免所得税
  • 购进货物用于集体福利会计分录
  • 租赁费属于酌量性固定成本
  • 货拉拉除了运费还要出钱吗
  • 招标付款条件及比例
  • mysql随机选择
  • sqlserver 触发器 redis
  • win7,win8.1,win10命令行配置ip地址图文教程
  • grub rescue修复引导找不到grub
  • win8.1如何关闭开机密码
  • ubuntu20.04安装vnc
  • windows英文字体
  • windows10 uac关闭
  • nodejs示例
  • perl中qw
  • css要学到什么程度
  • rsync include-from
  • ajax按顺序执行
  • unity3d跨平台
  • [置顶] 汉诺塔的原理剖析以及递归的解决办法
  • node.js app
  • Python函数中仅允许有一条return语句
  • 地税税号查询系统
  • 什么是个人所得税起征点
  • 海南省地税官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设