1. Location的作用

Location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。

2.Location的语法

  • =开头表示精确匹配,如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。
  • ^~开头表示uri以某个常规字符串开头,不是正则匹配
  • ~ 开头表示区分大小写的正则匹配;
  • ~* 开头表示不区分大小写的正则匹配
  • / 通用匹配, 如果没有其它匹配,任何请求都会匹配到

3.Location正则案例

1.精确匹配,/后面不能带任何字符:

<span style="color:#000000"><code class="language-java">server <span style="color:#969896">{</span>listen       <span style="color:#c76b29">80</span><span style="color:#969896">;</span>server_name  www<span style="color:#969896">.</span>baidu<span style="color:#969896">.</span>com<span style="color:#969896">;</span>#精确匹配<span style="color:#969896">,</span>注解后面不能带任何字符location <span style="color:#df5000">=</span><span style="color:#df5000">/</span> <span style="color:#969896">{</span>proxy_pass http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8080</span><span style="color:#969896">;</span>index  index<span style="color:#969896">.</span>html index<span style="color:#969896">.</span>htm<span style="color:#969896">;</span><span style="color:#969896">}</span>
<span style="color:#969896">}</span>
</code></span>

2.匹配所有以/开头请求:

<span style="color:#000000"><code class="language-java">server <span style="color:#969896">{</span>listen       <span style="color:#c76b29">80</span><span style="color:#969896">;</span>server_name  www<span style="color:#969896">.</span>baidu<span style="color:#969896">.</span>com<span style="color:#969896">;</span>#匹配所有以<span style="color:#df5000">/</span>开头请求 location <span style="color:#df5000">/</span> <span style="color:#969896">{</span>proxy_pass http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8080</span><span style="color:#969896">;</span>index  index<span style="color:#969896">.</span>html index<span style="color:#969896">.</span>htm<span style="color:#969896">;</span><span style="color:#969896">}</span><span style="color:#969896">}</span>
</code></span>

3.比如以开头/ylw_8080拦截 默认开启不区分大小写:

<span style="color:#000000"><code class="language-java">server <span style="color:#969896">{</span>listen       <span style="color:#c76b29">80</span><span style="color:#969896">;</span>server_name  www<span style="color:#969896">.</span>baidu<span style="color:#969896">.</span>com<span style="color:#969896">;</span>###  以开头<span style="color:#df5000">/</span>ylw_8080 最终跳转到http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8080</span><span style="color:#df5000">/</span><span style="color:#969896">;</span>location <span style="color:#df5000">/</span>ylw_8080<span style="color:#df5000">/</span> <span style="color:#969896">{</span>proxy_pass http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8080</span><span style="color:#df5000">/</span><span style="color:#969896">;</span>index  index<span style="color:#969896">.</span>html index<span style="color:#969896">.</span>htm<span style="color:#969896">;</span><span style="color:#969896">}</span>###  以开头<span style="color:#df5000">/</span>ylw_8080 最终跳转到http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8081</span><span style="color:#df5000">/</span><span style="color:#969896">;</span>location <span style="color:#df5000">/</span>ylw_8081<span style="color:#df5000">/</span> <span style="color:#969896">{</span>proxy_pass http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8081</span><span style="color:#df5000">/</span><span style="color:#969896">;</span>index  index<span style="color:#969896">.</span>html index<span style="color:#969896">.</span>htm<span style="color:#969896">;</span><span style="color:#969896">}</span><span style="color:#969896">}</span>
</code></span>
注意:开头区分大小写!

Nginx系列教程(07) - Location正则表达式相关推荐

  1. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影系统

    作者:JackTian 微信公众号:杰哥的IT之旅(ID:Jake_Internet) LAMP 系列导读 01. LAMP 系列教程(一)| 详解 Linux 环境下部署 HTTPD 服务 02. ...

  2. 【视频教程】帝国CMS制作网站系列教程07

    在很早之前跟大家分享过Bootstrap的视频教程,今天我跟大家分享一套帝国CMS制作网站的视频教程,本视频教程,主要是通过在本地搭建环境,制作网站的一个过程. 在这里,我给大家提供了一套帝国7.5版 ...

  3. Auto.js Pro安卓免ROOT引流脚本开发系列教程07微信运动点赞(4)

    课程内容 翻页前判断是否在指定页面 翻页到达底部的处理 封装接口函数 开发环境与工具 开发环境:Visual Studio Code Auto.js:Pro 7.0.3-7 终端设备:红米NOTE5A ...

  4. 【TypeScript系列教程07】变量声明

    目录 TypeScript 变量声明 实例 类型断言(Type Assertion) TypeScript 是怎么确定单个断言是否足够 类型推断 变量作用域 TypeScript 变量声明

  5. canvas系列教程07 ——捕获、拖拽、抛掷、缓动动画、弹性动画

    捕获物体 多边形以及不规则图形的捕获非常复杂,采用的方法是分离轴定理(SAT)和最小平移向量(MTV).这里不展开介绍,有兴趣的小伙伴可以自行搜索了解一下.下面来介绍一下矩形和圆的捕获. 矩形的捕获 ...

  6. 【视频教程】帝国CMS制作网站系列教程08—单页模板的制作

    作为一个程序员,搭建一个自己的博客网站是件非常容易的事情,但是作为很多非程序员非计算机专业的学习者来讲,可能就需要花点时间进行学习,而如果你想通过自学来学习怎么制作一个属于自己的网站的话,那这套帝国C ...

  7. 【视频教程】帝国CMS制作网站系列教程14—标签模板及标签讲解

    作为一个程序员,搭建一个自己的博客网站是件非常容易的事情,但是作为很多非程序员非计算机专业的学习者来讲,可能就需要花点时间进行学习,而如果你想通过自学来学习怎么制作一个属于自己的网站的话,那这套帝国C ...

  8. 【视频教程】帝国CMS制作网站系列教程16—帝国CMS总结

    作为一个程序员,搭建一个自己的博客网站是件非常容易的事情,但是作为很多非程序员非计算机专业的学习者来讲,可能就需要花点时间进行学习,而如果你想通过自学来学习怎么制作一个属于自己的网站的话,那这套帝国C ...

  9. 【视频教程】帝国CMS制作网站系列教程17—帝国CMS模板的策划

    作为一个程序员,搭建一个自己的博客网站是件非常容易的事情,但是作为很多非程序员非计算机专业的学习者来讲,可能就需要花点时间进行学习,而如果你想通过自学来学习怎么制作一个属于自己的网站的话,那这套帝国C ...

最新文章

  1. STM32F0使用LL库实现Modbus通讯
  2. 足坛绝代双骄全面数据对比,梅西30岁以后不如C罗?
  3. 吉大18秋学期C语言作业二答案,吉大18秋《C语言程序设计》在线作业12参考
  4. 3、SpringBoot整合MyBatis注解版及配置文件版
  5. Maven用仓库外的jar进行编译
  6. jQuery-H5-css3转盘抽奖-遁地龙卷风
  7. 字节是微型计算机中存储容量的度量单位,微型计算机内存容量的基本计量单位...
  8. 0,1,2 代表标准输入、标准输出、标准错误
  9. Log4j介绍,log4j.properties配置详解
  10. 什么是Http无状态协议?
  11. 实时渲染器不止lumion,Chaos Vantage你值得一试
  12. 有关sim800l的资料
  13. 哔哩哔哩mac客户端!亲测!支持big sur系统
  14. Mapreduce Wordcount白名单 Python实现
  15. html邢台模板,邢台水泥预制件定制
  16. 微信3.1.0.58逆向-微信3.1.0.58HOOK接口说明(WeChatHelper.dll)-获取当前聊天微信ID
  17. 苹果手机使用技巧篇:教你完美使用好苹果手机的5个方法
  18. 关于JavaScript中的date和java中的date差14小时问题
  19. 【VB.NET】简介
  20. 计算机网络安全与维护论文致谢,计算机论文致谢词

热门文章

  1. 单亲家庭父子的理财通信
  2. findContours函数报错:“将一个无效参数传递给了将无效参数视为严重错误的函数”解决方案之一
  3. 路由配置与管理——ISIS路由配置与管理
  4. SpringCloud禁用Eureka自我保护模式
  5. Latex 跨页图片跑到最后一页问题
  6. 小米8绑定账号和设备验证失败_不要浪费小米10的双扬声器!杜比全景音刷入教程分享...
  7. 怎样快速查询单号物流信息,筛选出未签收的单号
  8. java生成自增单号(字符+日期+数字)
  9. html设置闹钟提醒,设置闹钟标签.html
  10. 图片在相应页面变化的时候拉长