nginx location匹配优先级_一分钟搞清楚:Nginx之Location优先级
Location表达式类型
- ~ 表示执行一个正则匹配,区分大小写
- ~* 表示执行一个正则匹配,不区分大小写
- ^~ 表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他location
- = 进行普通字符精确匹配。也就是完全匹配
Location优先级
在nginx的location和配置中location的顺序没有太大关系,与location表达式的类型有关。相同类型的表达式,字符串长的会优先匹配。以下是按优先级排列说明:
- 等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项。
- ^~类型表达式。一旦匹配成功,则不再查找其他匹配项。
- 正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。
- 常规字符串匹配类型。按前缀匹配。
示例
配置项如下:
location = / { # 仅仅匹配请求 / [ configuration A ]}location / { # 匹配所有以 / 开头的请求。 # 但是如果有更长的同类型的表达式,则选择更长的表达式。 # 如果有正则表达式可以匹配,则优先匹配正则表达式。 [ configuration B ]}location /documents/ { # 匹配所有以 /documents/ 开头的请求。 # 但是如果有更长的同类型的表达式,则选择更长的表达式。 # 如果有正则表达式可以匹配,则优先匹配正则表达式。 [ configuration C ]}location ^~ /images/ { # 匹配所有以 /images/ 开头的表达式,如果匹配成功,则停止匹配查找。 # 所以,即便有符合的正则表达式location,也不会被使用 [ configuration D ]}location ~* \.(gif|jpg|jpeg)$ { # 匹配所有以 gif jpg jpeg结尾的请求。 # 但是 以 /images/开头的请求,将使用 Configuration D [ configuration E ]}
请求匹配示例:
/ -> configuration A/index.html -> configuration B/documents/document.html -> configuration C/images/1.gif -> configuration D/documents/1.jpg -> configuration E
以上的匹配和在配置文件中定义的顺序无关。另附上nginx配置文件超全配置详情(实用建议收藏):点击获取收藏!
推荐阅读
- DataFlux 采集 Nginx 监控指标
- 高并发下nginx调优实战
- Nginx配置文件nginx.conf详解
- 六大接口管理平台,总有一款适合你的!
长按,扫码,关注及时收看更多精彩内容
nginx location匹配优先级_一分钟搞清楚:Nginx之Location优先级相关推荐
- 正则表达式里转义字符_五分钟搞定正则表达式,如果没搞定,再加两分钟
五分钟搞定正则表达式,如果没搞定,再加两分钟 [这是 ZY 第 18 篇原创文章] 文章概览 一.正则表达式介绍 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简 ...
- 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”
平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ...
- nginx之30分钟搞定nginx反向代理和负载均衡
1. 什么是代理服务器 1.1. 代理服务器的好处 代理服务器架构 1)提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中 ...
- python中cgi到底是什么_十分钟搞懂什么是CGI(转)
原文:CGI Made Really Easy,在翻译的过程中,我增加了一些我在学习过程中找到的更合适的资料,和自己的一些理解.不能算是严格的翻译文章,应该算是我的看这篇文章的过程的随笔吧. CGI真 ...
- python网络编程自学_五分钟搞定Python网络编程实现TCP和UDP连接
Python网络编程实现TCP和UDP连接, 使用socket模块, 所有代码在python3下测试通过. 实现TCP#!/usr/bin/env python3 # -*- coding: utf- ...
- distinct sql用法_十分钟搞懂SQL数据分析
风控说 由上海新金融风险实验室出品
- lombok原理_十分钟搞懂Lombok使用与原理
1 简介 Lombok是一款好用顺手的工具,就像Google Guava一样,在此予以强烈推荐,每一个Java工程师都应该使用它.Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的 ...
- python读取matlab数据_两分钟搞定Python读取matlab的.mat数据
Matlab是学术界非常受欢迎的科学计算平台,matlab提供强大的数据计算以及仿真功能.在Matlab中数据集通常保存为.mat格式.那么如果我们想要在Python中加载.mat数据应该怎么办呢?所 ...
- python爬虫之bs4库_三分钟搞定bs4库的解析器
The Dormouse's story Once upon a time there were three little sisters; and their names were Elsie, L ...
最新文章
- 写给新手:2021版调参上分手册!
- SAP RETAIL 初阶之使用事务代码WRFMATCOPY创建商品主数据
- HDU-1128 Self Numbers 筛选
- 编程方法学13:字符串处理
- 浙大python判断两个字符串是否为变位词_python数据结构与算法 变位词
- 基于 Apache Flink + Hologres 的实时推荐系统架构解析
- Navigator 对象,能够清楚地知道浏览器的相关信息
- 把握数据库发展趋势 DBA应如何避免“踩坑”?
- linux卸载emc硬盘,关于EMC symmetrix新分磁盘在Linux主机无法fdisk? 求助
- SCM introduction
- 拓端tecdat|R语言基于协方差的结构方程拟合的卡方检验
- freetds mysql_关于 freetds pymssql 的安装部署
- python turtle画小狗_python-turtle-画雪花
- 如何在Internet Explorer中使用VARCHART XGantt控件?
- 计算机安全设置超链接设置,word做超链接操作方法
- 报错the confidence keyword argument is only available if OpenCV is installed的解决方法
- 保姆级教程:NobePay从注册到充值开卡全过程
- html div文字竖向显示,css怎么让文字竖着?
- 新手如何使用Cheat Engine (CE) 来修改“我的世界“?
- MySQL多表联表查询
热门文章
- 小米与格力的10亿豪赌!
- AFIO时钟何时开启
- python 柱状图 居中_python matplotlib模块: bar(柱状图)
- python中sys模块有什么用_Python sys模块用法详解
- 直接学python行不行_是否可以直接学python或者java而不学c++?
- cve-2020-0796_SMBGhost 漏洞 CVE20200796 的PoC 已发布,攻击现身
- 简述:B2B、B2C、C2C、O2O
- 指定端口传输_高速数字传输链路测试 - 高速数字电路仿真设计与测试技术发展趋势综述(二)...
- 直播预告 | 如何在有限数据下实现资讯类网站海量信息自动分类
- 链表的基本操作 java_JAVA实现单链表的基本操作