nginx 正則匹配與一般匹配競合
請看以下情境
......location / { #一般匹配root /use/local/nginx/html;index index.html index.htm;
}location ~ image { # 正則匹配root /var/www/;root index.html;}......
問題:
若訪問 http://xx.com/image/cover.png
此時固然 / 與 /image/cover.png 匹配成功
但正則 /image 與 /image/cover.png 似亦能匹配
則何者將發揮作用?
實驗開始:
1. 創建正則專用的圖片
# mkdir /var/www/image
進入該資料夾
# cd /var/ww/image
取得圖片
# wget [隨便一個圖片網址]
將取得的圖片改名
# mv [下載圖片名] cover.png
2. 創建一般匹配用的圖片
# mkdir /usr/local/nginx/html/image
# cd /usr/local/nginx/html/image
# wget [隨便一個圖片網址 但不要跟 1.的圖片相同]
將取得的圖片改名
# mv [下載圖片名] cover.png
3. 編輯index.html
# vim /usr/local/nginx/html/index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}
</style>
</head>
<body>
<img src="./image/cover.png"/><!-- 加上這行觀察 -->
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
<!-- <script>window.location.href ='/';
</script> -->
</html>
重啟後生效
# ./usr/local/nginx/sbin/nginx -s reload
結論: 出現/var/www/image/cover.png, 代表正則發揮作用(會先去執行一般匹配, 再執行正則匹配 即後蓋前)
如有錯誤發生 請觀察日誌
# tail /usr/local/nginx/loga/error.log
nginx 正則匹配與一般匹配競合相关推荐
- Java正則表達式詳解
來源:http://www.computerworld.com.cn 如果你曾經用過Perl或任何其他內建正則表達式支持的語言,你一定知道用正則表達式處理文本和匹配模式是多簡單.如果你不熟悉這個術語, ...
- python使用正則表達式
python中使用正則表達式 1. 匹配字符 正則表達式中的元字符有 . ^ $ * + ? { } [ ] \ | ( ) 匹配字符用的模式有 \d 匹配随意数字 \D 匹配随意非 ...
- C++11中正則表達式測试
VC++2010已经支持regex了, 能够用来编译下述代码. #include <string> #include <regex> #include <iostream ...
- grep 和 sed:linux经常使用工具 amp; 基本正則表達式
grep 见链接:http://www.cyberciti.biz/faq/grep-regular-expressions/ sed參考文章:http://www.thegeekstuff.com ...
- EcmaScript正則表達式( 深入淺出系列之淺出 )
来源:http://www.v-ec.com/dh20156/article.asp?id=202 使用方法 創建對象 var r = new RegExp("表達式",& ...
- 最全正則表達式汇总—想要的都有了
正则式太难学,并且easy忘记 ,西西是看过非常多次.都是一会就所有不记得了滴.非常多不太懂正则的朋友.在遇到须要用正则校验数据时,往往是在网上去找非常久.结果找来的还是不非常符合要求. 所以我近期把 ...
- Java正則表達式入门
众所周知,在程序开发中,难免会遇到须要匹配.查找.替换.推断字符串的情况发生,而这些情况有时又比較复杂,假设用纯编码方式解决,往往会浪费程序猿的时间及精力.因此,学习及使用正則表達式,便成了解决这一 ...
- 正則表達式截取字符串两字符间的内容
一.问题 我有个字符串比方a="abcdanmcadedcdeefako"那么我怎么能得到一个数组,当中数组的各项是字母a和c的中间字符.即第一项是"b"第二项 ...
- JAVA正則表達式小总结
近期项目中正在做后台校验,而后台校验也基本都是使用正則表達式校验.本文做一些粗略的总结. 1.字符串长度:.{1,10},注意有一个点在{}前,表示匹配全部.'{}'之前一定是一个捕获组,因此假设有其 ...
最新文章
- ORDNet:为场景分割捕获全范围依赖关系
- 在Android 华为手机上运行React_Native工程时出现了如下错误,做以记录:
- 技术无罪?谷歌AI伦理团队负责人被解雇
- 配置Exchange Server 2010数据库高可用性组(DAG)
- 第八章 基本脚本编译
- linux命令 - ln - 创建和删除软、硬链接
- 推荐系统组队学习——推荐系统概述
- 多媒体个人计算机的特点,多媒体特征
- 一款在Linux下运行Android应用的软件——xDroid
- EditPlus实现json格式化
- 电脑安装完软件打不开怎么办
- 免费企业邮箱怎么注册申请
- ppt to html c,PPTC参数.pdf
- 苹果Safari怎么打开html,苹果内置safari浏览器怎么用?safari浏览器详细使用教程...
- 数据分析----jupyter工具使用指导
- 香港中文大学9(深圳)医学院李丛磊组招收博后/科研助理/博士生
- 弹性计算产品专家张新涛:阿里云视觉计算的思考与实践
- VMware 12 Exception 0xc0000005
- Ubuntu(护眼设置)安装屏幕色温调节软件F.lux
- Apriori算法详解及手写案例
热门文章
- JBuilder2006下载及破解
- IT 2018年:ManageEngine回顾总结
- selenium implicitly_wait() 隐式等待
- 哈理工第一节编程课及经验分享
- WeMos下实现垃圾桶感应开盖、保持、合盖
- sharesdk分享失败404_ShareSDK分享失败的原因
- A Simple Framework for Contrastive Learning of Visual Representations[论文学习] SimCLR
- arduino教程-01. Arduino 板的说明
- 第三课向量与平面直线方程
- 亚马逊封号原因大汇总