11. Nginx Location 匹配规则

11. Nginx Location 匹配规则

location / {
			# root 关键词,是定义网页根目录的。	html 是以 nginx 安装目录 为相对路径的
            root   html;
            # index 关键词,是定义 nginx 访问首页的名字,默认去找 index.html
            index  index.html index.htm;
            #autoindex  on;
        }

  • location 相关语法
location [ = | ~ | ~* | ^~ ] url {
	.......
}
匹配符匹配规则优先级
=精确匹配;用于标准uri前,要求请求字符串和uri严格匹配。如果匹配成功,就停止匹配,立即执行该location里面的请求。1
^~非正则匹配;用于标准uri前,nginx服务器匹配到前缀最多的uri后就结束,该模式匹配成功后,不会使用正则匹配。2
~*正则匹配;用于正则uri前,表示uri里面包含正则,不区分大小写。3
/blog/直接访问域名或者ip后面加上 blog,例:192.168.169.142:80/blog4
/通用匹配,不符合其他匹配规则的5
# nginx.conf 支持在虚拟朱继忠定义多个 location,进行用户请求 url 的解析

server{
	
	location = {
	
	}
	location ^~ {
	
	}
	....
	
}
11.1 案例:location 匹配测试
vim mylocation.conf
server {
    listen       83;
    server_name  _;
	
	# 最低级匹配,不符合其他 location 匹配规则就在这里匹配
    location / {
        return 401;
    }
	
	# 优先级最高匹配,精确匹配,例如访问:192.168.169.152:83/ (注意这里一定要加上 / 不然不知道访问的是什么)
	location = / {
        return 402;
    }
	
	# 以 /demo/ 开头的 url 匹配,如果符合其他 location 匹配规则,则其他匹配优先
	location /demo {
        return 403;
    }
	
	# 匹配任何以 /img/ 开头的请求,不匹配正则,例如:192.168.169.152:83/img
 	location ^~ /img {
        return 404;
    }
	
	
	# 匹配任何以 .gif 结尾的请求,支持正则
	location ~* \.(gif|jpg|jpeg) {
        return 500;
    }
	

}



# 注意:这里如过访问 192.168.169.152:83/img.jpg	按上面配置文件如果是以 jpg 结尾的返回 500 ,但是测试是返回 404 即匹配到了 img 开头的,这是以为 ^~ 比 ~* 优先级高

测试:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值