Nginx路由匹配规则location的小总结
off999 2025-01-08 16:28 21 浏览 0 评论
使用过nginx的同学都知道,在nginx配置文件中通过location配置路由转发规则,配置语法为:
location [=|~|~*|^~] /uri/ {
...
}中括号中为路由匹配符号,常见的有:
1 =:精确匹配
2 ^~:精确前缀匹配
3 ~:区分大小写的正则匹配
4 ~*:不区分大小写的正则匹配
5 /uri:普通前缀匹配
6 /:通用匹配
精确匹配
精确匹配使用 = 表示,nginx进行路由匹配的时候,精确匹配具有最高的优先级,请求一旦精确匹配成功nginx会停止搜索其他到匹配项
配置实例
location = /test {
...
}
精确前缀匹配
精确前缀匹配的优先级仅次于精确匹配,nginx对一个请求精确前缀匹配成功后,停止继续搜索其他到匹配项
配置实例
location ^~ /test_a {
...
}
正则匹配
正则匹配分为区分大小写和不区分大小写两种,分别用 ~ 和 ~* 表示;一个请求精确匹配和精确前缀匹配都失败后,如果配置有相关的正则匹配location,nginx会尝试对该请求进行正则匹配。需要说明的是正则匹配之间没有优先级一说,而是按照在配置文件中出现的顺序进行匹配,一旦匹配上一个,就会停止向下继续搜索
配置实例
# 配置1
location ~ /test_a {
...
}
# 配置2
location ~* /test_A {
...
}
对于请求 /test_a/hello 来说会被匹配到 配置1 处理,/test_A/hello 则会被匹配给 配置2 处理
普通前缀匹配
普通前缀匹配前面没有任何修饰符,直接在location后写需要匹配的uri,它的优先级次于正则匹配
配置实例
location /img {
...
}
通用匹配
通用匹配使用一个 / 表示,可以匹配所有请求,一般nginx配置文件最后都会有一个通用匹配规则,当其他匹配规则均失效时,请求会被路由给通用匹配规则处理;如果没有配置通用匹配,并且其他所有匹配规则均失效时,nginx会返回 404 错误
配置实例
location / {
...
}
引用一个完整例子
nginx路由规则配置:
location = / {
echo "规则A";
}
location = /login {
echo "规则B";
}
location ^~ /static/ {
echo "规则C";
}
location ^~ /static/files {
echo "规则X";
}
location ~ \.(gif|jpg|png|js|css)$ {
echo "规则D";
}
location ~* \.png$ {
echo "规则E";
}
location /img {
echo "规则Y";
}
location / {
echo "规则F";
}请求uri 匹配路由规则 http://localhost/ 规则A http://localhost/login 规则B http://localhost/register 规则F http://localhost/static/a.html 规则C http://localhost/static/files/a.txt 规则X http://localhost/a.png 规则D http://localhost/a.PNG 规则E http://localhost/img/a.gif 规则D http://localhost/img/a.tiff 规则Y
以上是对nginx路由匹配规则的粗略总结和归纳,如有不足之处欢迎指正,共同探讨!
作者:baboq
相关推荐
- daemon tools lite下载(daemon tools lite中文版)
-
您好,DAEMONToolsLite是一款免费的虚拟光盘制作软件,可以帮助用户在计算机上模拟CD、DVD和Blu-ray光盘。以下是使用DAEMONToolsLite的简单步骤:1.下...
- 电脑一键关机快捷方式(电脑一键关机是哪个键)
-
方法一、快捷键关机法在电脑桌面上,按Alt+F4组合键,弹出关闭windows窗口,点击确定或回车即可关机方法二、自创快捷键关机法鼠标右键单击桌面空白处,选择新建,点击快捷方式弹出窗口,在键入对象的位...
- windows server 2019价格(windows servers 2019)
-
windows2019server是微软公司推出的一款最新服务器操作系统,我安装使用后个人感觉是一个服务器版本的win10,但是也听到人反映不好用,只能这样认为:1、各行各业随时随地都存在扛精,...
- 电脑开机后死机卡住不动(电脑开机后死机卡住不动是什么原因)
-
1.重启电脑:在目前情况一切正常重启电脑,或按主机重启键重启电脑,或先长按锁屏键强制关机再次开机,假如不会再发生报错而且可以一切正常进到系统操作,表明之前异常仅仅时不时地应用程序或系统运行错误,无关痛...
- 电脑之家重装系统(电脑之家重装系统教程)
-
方法/步骤:删除多余启动选择1、按Win+R组合键,打开运行,并输入:msconfig命令,确定或回车,打开系统配置窗口;2、系统配置窗口,切换到引导选项卡下,然后删除多余的系统启动项即可;...
- 闪迪u盘写保护了怎么办(闪迪u盘读写保护)
-
1.当使用的u盘被写保护时,首先我们点击“开始”菜单,选择“运行”选项。2.然后在运行页面的打开一栏中输入“regedit”指令,按下回车键确认。3.此时进入“注册表编辑器”页面后,按序打开以下文件夹...
-
- qq空间在线查看网页版(qq空间在线查看网页版官网)
-
QQ空间是腾讯的互动空间应用,现在有专门的APP。除了手机之外,电脑端都是用网页来访问登录。具体操作步骤如下:1、打开网页搜索,查询QQ空间,找到QQ空间网页登录地址。然后选择,输入QQ账号密码,如下图所示:2、如果你电脑登录了QQ账号...
-
2025-12-07 08:03 off999
- 软件大全下载app免费(软件大全下载app免费)
-
下载无忧(www.xiazai51.com)是一个绿色、安全、免费的下载网站,为给大家提供优质的下载服务,本网站程序由专业团队自主研发,不采用第三方模板,网站程序拥有自主知识产权。网站提供提供电脑软件...
- 戴尔和惠普谁的质量好(惠普和戴尔那个性价比高)
-
dell好,戴尔电脑非常好用,性价比很高,值得入手。首先简要介绍戴尔笔记本。戴尔笔记本电脑是一种商务笔记本电脑,非常适合用于我们的商务工作当中,它的性能十分强大,内部的配置非常优秀,它的操作系统是家庭...
- wifi密码如何设置最安全(wifi密码如何设置最安全呢)
-
1.设置复杂的密码:设置一个由数字、字母和符号组成的复杂密码,这样可以增加破解难度。2.定期更换密码:定期更换WiFi密码是保护网络安全的有效措施。建议每3-6个月更换一次。3.开启WPA2加密...
- 苹果手机越狱后可以恢复吗
-
能,操作方法:1.备份你的所有个人数据(非常重要)2.在Cydia中添加源:coolstar.org/publicrepo3.在Cydia中添加源:repo.jailbreakhub.org4.添加完...
- gpt分区软件(gpt分区表)
-
激活工具一:NT6OEMLoader是一款免费的win7激活软件,值得一提的是NT6OEMLoader可以支持UEFI+GPT磁盘激活。这样使用UEFI安装Win7就不用担心没有激活工具可以...
- 没被用的邮箱号码大全(没用过的邮箱地址大全)
-
1.打开邮箱登录页,在应输入邮箱账号的地方输入邮箱绑定的手机号,在输入密码的文本框输入用户原先的密码;2.登录到邮箱主页后,在邮箱的左上角,会显示加,星号的邮箱账号这是邮箱为了保护用户隐私而隐藏了一些...
- 骁龙cpu处理器排行榜(骁龙cpu处理器排行榜2024)
-
Top1、骁龙888plus(毫无疑问顶级处理器)Top2、骁龙888(2021上半年顶级处理器)Top3、骁龙870(目前各大厂商旗舰机均有搭载的高级处理器)Top4、骁龙865plus(2020下...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
使用 python-fire 快速构建 CLI_如何搭建python项目架构
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
