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

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
http://www.lryc.cn/news/325891.html

相关文章:

  • Git:分布式版本控制系统
  • [STL]priority_queue类及反向迭代器的模拟实现
  • vue2 脚手架
  • 【OpenStack】OpenStack实战之开篇
  • Python实现WebSocket通信
  • MATLAB 自定义生成直线点云(详细介绍) (47)
  • UniTask 异步任务
  • 【git分支管理策略】如何高效的管理好代码版本
  • css的transition详解
  • agent利用知识来做规划:《KnowAgent: Knowledge-Augmented Planning for LLM-Based Agents》笔记
  • 01 React新建开发环境
  • nginx--解决响应头带Set-Cookie导致的验证失败
  • InstructGPT的流程介绍
  • docker容器下部署hbase并在springboot中通过jdbc连接
  • Qt——智能指针实战
  • Unity Mobile Notifications推送问题
  • C++_回文串
  • 【阅读论文】When Large Language Models Meet Vector Databases: A Survey
  • 兼职副业大揭秘:六个潜力满满的赚钱途径
  • C++ Qt开发:QUdpSocket实现组播通信
  • excel 表中有图片并在筛选特定行时,只显示该行的图片
  • 【QA】MySQL多表查询详解
  • 【Entity Framework】 EF三种开发模式
  • 数据分析---SQL(5)
  • 《剑指 Offer》专项突破版 - 面试题 93 : 最长斐波那契数列(C++ 实现)
  • 代码随想录算法训练营第五十五天|583. 两个字符串的删除操作、72. 编辑距离
  • StringRedisTemplate Autowired注入为空解决
  • c语言:文件操作
  • C#事件实例详解
  • 零基础机器学习(3)之机器学习的一般过程