当前位置: 首页 > news >正文

location

目录

匹配的目标

格式 

匹配符号:

优先级 

要表达不匹配条件,则用 if 实现

例子:根目录的匹配最弱

例子:区分大小写 和 不区分大小写

例子:以根开头  和 不区分大小写

例子:等号  


匹配的目标

nginx location匹配的是变量 $uri ,就是域名后参数前的部分。

格式 

location   匹配符   路径   {  }

匹配符号:

=   精确匹配

~   正则匹配,区分大小写

~*  正则匹配,不区分大小写

^~  匹配指定字符或字符串开头的

/     根类的匹配。比如 $host/lwj/abc/12.html  ,匹配判断范围的仅限在域名后紧跟着的那段/lwj。

优先级 

===>  ===>   ===>  ===>  ===>  ===>

级高      =     ^~    ~*   ~     /       级低

 

注意:!~    location不支持这种写法

要表达不匹配条件,则用 if 实现

if (  $uri  !~  "XXX" )   {  }

/abc 的匹配必须是紧跟域名后开始的才算,因为有 / 无其他匹配符时代表从根目录开始

例子:根目录的匹配最弱

 /abc  <   ~* abc

$host/abc/123.html  中虽然看上去/abc更加精准,但是无奈 / 类的优先级很低。

例子:区分大小写 和 不区分大小写

$host/Abc/123.html   时 ,~ Abc   =   ~* abc       同样的字符时,谁写在前面谁赢

这里虽然curl的是 Abc 更符合 ~Abc ,但因为也符合 ~*abc  且 ~* 写在前面,则依然是~*赢。

例子:以根开头  和 不区分大小写

必须 ^ 还要有 / 的情况才能略胜一筹。$host/abc/123.html  下,  ^~ /abc   >   ~*  abc   

没有 / 时输,$host/abc/123.html 下,^~  abc   <   ~*  abc 

不是紧跟域名的那段时输,$host/xyz/abc/123.html 下,^~  /abc   <   ~*  abc 

 

例子:等号  

等号 是从根开始算的,在没有$uri 完全匹配前,不是 ^~ /lwj 的对手。

如果匹配目标不在 / 根目录下 ,也不是 ~* 的对手。

只有在 $uri 完全精确匹配时才能生效(部分匹配无效),很苛刻,后面的参数$args部分倒是不影响。

只要$uri精准匹配上了,就是最大的,即使后面还有参数也无所谓。

 

零散例子:

例子:

location = "/lwj.txt" { }
则
www.baidu.com/lwj.txt 匹配
www.baidu.com/xyz/lwj.txt  不匹配。 因 = 需要$uri部分完全匹配,而不是部分匹配

 

例子:

location ^~ "/lwj/" { }
则
www.baidu.com/lwj/1.txt 匹配
www.baidu.com/xyz/lwj/1.txt  不匹配。 需要是$uri以匹配项开头 ,而不是匹配其中一段目录开头。

例子:

location ~ "lwj" { }
则
www.baidu.com/lwj/abc/1.txt  匹配。
www.baidu.com/xyz/lwj/abc/1.txt  匹配。
www.baidu.com/abc/lwj.txt 匹配.
包含就匹配

 

例子:

location "/lwj/"  { }
则
www.baidu.com/lwj/1.txt  匹配。
www.baidu.com/xyz/lwj/1.txt  不匹配。 必须根目录开头。

相关文章:

location

目录 匹配的目标 格式 匹配符号&#xff1a; 优先级 要表达不匹配条件&#xff0c;则用 if 实现 例子&#xff1a;根目录的匹配最弱 例子&#xff1a;区分大小写 和 不区分大小写 例子&#xff1a;以根开头 和 不区分大小写 例子&#xff1a;等号 匹配的目标 ng…...

简述RBAC模型

RBAC&#xff08;Role-Based Access Control&#xff09;模型是一种常用的访问控制模型&#xff0c;用于管理和控制用户对系统资源的访问权限。RBAC模型通过将用户分配给角色&#xff0c;并授予角色相应的权限&#xff0c;来实现安全的资源访问管理。 在RBAC模型中&#xff0c;…...

倒计时2天:中国工程院院士谭建荣等嘉宾确认出席,“警务+”时代来临...

近日伴随公安部、科技部联合印发通知&#xff0c;部署推进科技兴警三年行动计划&#xff08;2023-2025年&#xff09;&#xff0c;现代科技手段与警务工作相结合的方式&#xff0c;正式被定义为未来警务发展的新趋势。 21世纪以来&#xff0c;随着科技的不断发展和创新&#xf…...

Python蓝桥杯训练:基本数据结构 [哈希表]

Python蓝桥杯训练&#xff1a;基本数据结构 [哈希表] 文章目录Python蓝桥杯训练&#xff1a;基本数据结构 [哈希表]一、哈希表理论基础知识1、开放寻址法2、链式法二、有关哈希表的一些常见操作三、力扣上面一些有关哈希表的题目练习1、[有效的字母异位词](https://leetcode.cn…...

MacOS 配置 Fvm环境

系统环境&#xff1a;MacOS 13&#xff0c;M1芯片 1. 安装HomeBrew&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed 2. 使用brew安装Fvm&#xff1a; brew tap leoafarias/fvm brew install fvm 3…...

Python小白入门- 01( 第一章,第1节) 介绍 Python 编程语言

1. 介绍 Python 编程语言 1.1 Python 是什么 Python 是一种高级的、解释型、面向对象的编程语言,具有简洁、易读、易写的语法特点。Python 由 Guido van Rossum 于 1989 年在荷兰创造,并于 1991 年正式发布。 Python 语言广泛应用于数据科学、Web 开发、人工智能、自动化测…...

高并发系统设计之缓存

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 这篇文章来讲讲缓存。缓存是优化网站性能的第一手段&#xff0c;目的是让访问速度更快。 说起缓存&#xff0c;第一反应可能想到的就是Redis。目前比较好的方案是使用多级缓存&#xff0c;如CPU→Ll/L2/L3→…...

【N32WB03x SDK使用指南】

【N32WB03x SDK使用指南】1. 简介1.1 产品简介1.2 主要资源1.3 典型应用2. SDK/开发固件文件目录结构2.1 doc2.2 firmware2.3 middleware2.4 utilities2.5 projects Projects3. 项目配置与烧录3.1 编译环境安装3.2 固件支持包安装3.3 编译环境配置3.4 编译与下载3.5 BLE工程目录…...

pytest测试框架——pytest.ini用法

这里写目录标题一、pytest用法总结二、pytest.ini是什么三、改变运行规则pytest.inicheck_demo.py执行测试用例四、添加默认参数五、指定执行目录六、日志配置七、pytest插件分类八、pytest常用插件九、改变测试用例的执行顺序十、pytest并行与分布式执行十一、pytest内置插件h…...

KAFKA安装与配置(带Zookeeper)2023版

KAFKA安装与配置(带Zookeeper) 一、环境准备: Ubuntu 64位 22.04,三台 二、安装JDK1.8 下载JDK1.8,我这边用的版本是jdk1.8.0_2022、解压jdk tar -zxvf jdk1.8.0_202.tar.gz 3、在/usr/local创建java文件夹,并将解压的jdk移动到/usr/local/java sudo mv jdk1.8.0_202…...

深入浅出解析ChatGPT引领的科技浪潮【AI行研商业价值分析】

Rocky Ding写在前面 【AI行研&商业价值分析】栏目专注于分享AI行业中最新热点/风口的思考与判断。也欢迎大家提出宝贵的意见或优化ideas&#xff0c;一起交流学习&#x1f4aa; 大家好&#xff0c;我是Rocky。 2022年底&#xff0c;ChatGPT横空出世&#xff0c;火爆全网&a…...

.net 批量导出文件,以ZIP压缩方式导出

1. 首先Nuget ICSharpCode.SharpZipLib <script type"text/javascript">$(function () {$("#OutPutLink").click(function () { // 单击下文件时$.ajax({ // 先判断条件时间内没有文件url: "/Home/ExistsFile?statTime" $(&q…...

数据分析:某电商优惠卷数据分析

数据分析&#xff1a;某电商优惠卷数据分析 作者&#xff1a;AOAIYI 专栏&#xff1a;python数据分析 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可…...

性能测试流程

性能测试实战一.资源指标分析1.判断CPU是否瓶颈的方法2.判断内存是否瓶颈的方法3.判断磁盘I/O是否瓶颈的方法4.判断网络带宽是否是瓶颈的方法二.系统指标分析三.性能调优四.性能测试案例1.项目背景2.实施规划&#xff08;1&#xff09;需求分析&#xff08;2&#xff09;测试方…...

zookeeper集群的搭建,菜鸟升级大神必看

一、下载安装zookeeperhttp://archive.apache.org/dist/zookeeper/下载最新版本2.8.1http://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/二、上传安装包到服务器上并且解压&#xff0c;重命名tar -zxvf apache-zookeeper-3.8.1-bin.tar.gzmv apache-zookeeper-3.8.1-b…...

C语言之习题练习集

&#x1f497; &#x1f497; 博客:小怡同学 &#x1f497; &#x1f497; 个人简介:编程小萌新 &#x1f497; &#x1f497; 如果博客对大家有用的话&#xff0c;请点赞关注再收藏 &#x1f31e; 文章目录牛客网题号&#xff1a; JZ17 打印从1到最大的n位数牛客网题号&#x…...

Buuctf [ACTF新生赛2020]Universe_final_answer 题解

1.程序逻辑 程序逻辑并不复杂: 首先输入字符串,然后对字符串进行一个判断是否满足条件的操作 如果满足则对字符串进行处理并输出,输出的就是flag 2.judge_860函数 显然根据这十个条件可以通过矩阵解线性方程组,这里对变量的命名做了一些调整,让Vi对应flag[i]方便读 ​​​​…...

【Linux】环境变量

目录背景1.概念2.常见环境变量2.1 PATH指令和自定义程序向环境变量PATH中添加路径删除PATH中的路径2.2 env&#xff1a;显示所有环境变量2.3 环境变量相关的命令3.通过代码获取环境变量1.char* envp[]2.第三方变量enciron3.getenv函数获取指定环境变量4.利用获取的环境变量自制…...

单一职责原则

单一职责原则&#xff1a; 就一个类而言&#xff0c;应该只有一个引起它变化的原因&#xff0c;如果一个类承担的职责过多就等于把这些职责耦合在一起&#xff0c;至少会造成以下两方面的问题&#xff1a; 我们要去修改该类中的一个职责可能会影响到该类的其它职责。这种耦合…...

golangの并发编程(GMP模型)

GMP模型 && channel1. 前言2. GMP模型2.1. 基本概念2.2. 调度器策略2.3. go指令的调度流程2.4. go启动周期的M0和G02.5. GMP可视化2.6. GMP的几种调度场景3. channel3.1. channel的基本使用3.2. 同步器1. 前言 Go中的并发是函数相互独立运行的体现&#xff0c;Gorouti…...

EfficientNet实战:如何在移动端部署B0-B7模型(附显存优化技巧)

EfficientNet移动端部署实战&#xff1a;从模型选型到显存优化全解析 在移动端和边缘计算场景中部署深度学习模型&#xff0c;就像给一辆跑车装上节能引擎——既要保持性能&#xff0c;又要极致压缩资源消耗。EfficientNet系列模型正是这种平衡艺术的代表作&#xff0c;但当开发…...

知识更新的未来:AI原生应用如何实现自我进化?

知识更新的未来:AI原生应用如何实现自我进化? 关键词:知识更新、AI原生应用、自我进化、机器学习、数据驱动 摘要:本文深入探讨了在知识快速更新的未来,AI原生应用实现自我进化的相关内容。从核心概念的解释到实现自我进化的算法原理、数学模型,再到项目实战、实际应用场…...

ROS中tf2坐标系命名规范详解:为什么你的/world会报Invalid argument错误

ROS中tf2坐标系命名规范详解&#xff1a;为什么你的/world会报Invalid argument错误 在ROS机器人开发中&#xff0c;坐标系转换&#xff08;tf2&#xff09;系统是构建空间感知的核心基础设施。许多开发者第一次遇到Invalid argument "/world" passed to canTransfor…...

手把手教你用V4L2实现USB摄像头采集(附ioctl调用避坑指南)

V4L2 USB摄像头采集实战&#xff1a;从设备配置到帧捕获的完整指南 1. V4L2框架概述与开发环境搭建 Video4Linux2&#xff08;简称V4L2&#xff09;是Linux内核中针对视频设备的标准驱动框架&#xff0c;它为USB摄像头、采集卡等视频设备提供了一套统一的编程接口。作为嵌入式…...

VSCode调试ARM芯片:一份给硬件工程师的OpenOCD与J-Link配置清单

VSCode调试ARM芯片&#xff1a;一份给硬件工程师的OpenOCD与J-Link配置清单 当硬件工程师第一次将ARM Cortex-M开发板连接到电脑时&#xff0c;最令人沮丧的莫过于看着闪烁的LED却无法窥探芯片内部的运行状态。调试器就像硬件工程师的"听诊器"&#xff0c;而VSCode配…...

AI专著生成速达秘籍:高性价比工具剖析,助力快速创作

创新是学术专著所需的核心元素&#xff0c;也是写作的一道高门槛。一部合格的学术专著&#xff0c;不能仅仅是对已有研究成果的机械拼凑&#xff0c;而应当展示贯穿全书的独特见解、理论模型或研究方法。在浩如烟海的学术文献中&#xff0c;识别尚未探索的研究空白并不是一件容…...

海康MVS安装注意事项

⒈目的 掌握海康MVS相机配置软件安装技巧&#xff0c;以便在MvCameraControlNet的演示案例运行时不报错&#xff08;通常为找不到MvCameraControl.dll&#xff09;&#xff0c;问题为MVS安装时无法对安装环境进行配置。 ⒉安装资源 在海康机器人官网上&#xff1a;海康机器人…...

OBS Studio架构深度解析:如何构建专业级直播系统的核心技术栈

OBS Studio架构深度解析&#xff1a;如何构建专业级直播系统的核心技术栈 【免费下载链接】obs-studio OBS Studio - 用于直播和屏幕录制的免费开源软件。 项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio OBS Studio作为开源直播录制软件的标杆&#xff…...

ClawdBot个人AI助手5分钟快速部署:零基础搭建本地智能聊天机器人

ClawdBot个人AI助手5分钟快速部署&#xff1a;零基础搭建本地智能聊天机器人 1. 项目介绍 ClawdBot是一个可以在本地设备上运行的个人AI助手&#xff0c;基于vLLM提供后端模型能力。这个开源项目让用户能够快速搭建自己的智能聊天机器人&#xff0c;无需复杂的配置过程。 1.…...

基于CLIP-GmP-ViT-L-14的智能教学辅助:自动化作业批改场景构想

基于CLIP-GmP-ViT-L-14的智能教学辅助&#xff1a;自动化作业批改场景构想 最近和几位做教师的朋友聊天&#xff0c;他们都在抱怨同一件事&#xff1a;批改作业&#xff0c;尤其是那种需要看图说话的作业&#xff0c;实在太费时间了。一个班几十个学生&#xff0c;每个学生交上…...