nginx localtion 匹配规则

1、语法规则

语法规则:location=\|\~\|\^\~\*\|\^\~/uri/{... }
表示精确匹配,这个优先级也是最高的
^~ 表示 uri 以某个常规字符串开头,理解为匹配 url 路径即可。 nginx 不对 url 做编码,因此请求为
/image/20%/aa,可以被规则^~ /image/ /aa 匹配到(注意是空格)。
~ 表示区分大小写的正则匹配
~* 表示不区分大小写的正则匹配(和上面的唯一区别就是大小写)
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则
/ 通用匹配,任何请求都会匹配到,默认匹配.

2、匹配规则

首先匹配 =,其次匹配~~,其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

例如 下面的配置规则如下:
location = / {
echo "=/";
}
location = /nginx {
echo "nginx";
}
location ~ \.(gif|jpg|png|js|css) { echo "image/jpg/png"; } location \~\* \\.png {
echo "png";
}
location ^~ /image/ {
echo "image";
}
为了验证使用哪个规则, 我们使用linux 的curl 命令,以访问 http://test.abc.com 的资源为例
当执行curl http://test.abc.com 返回=/。 当执行curl http://test.abc.com/nginx 返回nginx
当执行 当执行curl http://test.abc.com/xxx/122.PNG 返回png。当执行curl http://test.abc.com/xxx/122.png 返回image/jpg/png, 当执行curl http://test.abc.com/image/122.png 返回 image

相关推荐
LongRunning9 小时前
【Linux】RK3568-OpenCV+YOLO(八)
linux·opencv·yolo
迪康coolmu10 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
民乐团扒谱机12 小时前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”
linux·人工智能·算法
물の韜12 小时前
ZYNQ/FMQL系列Linux之I2C开发实战
linux·arm开发·嵌入式硬件·设备树·iic·zynq
qq_3718021112 小时前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
无足鸟ICT13 小时前
【RHCA+】iptraf-ng(网络监控分析)
linux·网络
独隅13 小时前
WebStorm 在 Linux 环境下的实战安装与高效开发指南
linux·ide·webstorm
坤坤子吖15 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
阡陌数智15 小时前
Claude API新版本重大变更与安全升级指南
java·linux·安全
奶茶树15 小时前
【Linux】环境开发工具(vim,gcc,g++,Makefile)
linux·运维·vim