nginx___location匹配规则

1.location规则介绍

  • URI:Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通用资源标志符(UniversalResource Identifier, 简称"URI")进行定位。
  • URL:是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上。采用URI可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

nginx就是通过拦截到的请求去对配置好的location块(location block)进行请求代理的。被代理的url去对location后边的字符串(或正则)进行匹配,根据一定的规则选择走哪个location。


2.location规则及其优先级

语法描述
/通用匹配,任何请求都会匹配到,优先级最高
=表示精确匹配,优先级也是最高的
^~表示uri以某个常规字符串开头,不做正则匹配检查
~表示区分大小写的正则匹配
~*表示不区分大小写的正则匹配
!~表示区分大小写不匹配的正则
!~*表示不区分大小写不匹配的正则

Location优先级:

= > ^~  > ~|~*|!~|!~* > /

3.测试

[root@server2 ~]# vi /etc/nginx/conf.d/xingyun.conf
server {
        listen       192.168.62.139:80;
        server_name  www.xingyun.com;
        location / {
                echo "/";
        }
        location =/ {
                echo "=/";
        }
        location =/nginx {
                echo "jingzhunpipei_nginx";
        }
        location /nginx {
                echo "nginx";
        }
        location ~ \.(gif|jpg|png|css|js)$ {
                echo "small: gif/jpg/png/js";
        }
        location ~* \.png$ {  
                echo "all:png";
        }
        location ^~ /static/ {  #以/static/开头就可以匹配到
                echo "static";
        }
}

测试:

[root@server2 ~]# curl 192.168.62.139/nginx
jingzhunpipei_nginx
You have new mail in /var/spool/mail/root
[root@server2 ~]# curl 192.168.62.139/nginx/abc
nginx
[root@server2 ~]# curl 192.168.62.139/ngidgjhbsjan
/
[root@server2 ~]# curl 192.168.62.139/     
=/
[root@server2 ~]# curl 192.168.62.139/aa.png
small: gif/jpg/png/js
[root@server2 ~]# curl 192.168.62.139/aa.PNG
all:png
[root@server2 ~]# curl 192.168.62.139/aa.jpg
small: gif/jpg/png/js
[root@server2 ~]# curl 192.168.62.139/aa.JPG
/
[root@server2 ~]# curl 192.168.62.139/static
/
[root@server2 ~]# curl 192.168.62.139/static/
static
[root@server2 ~]# curl 192.168.62.139/static/dfg
static
基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值