当前位置: 代码网 > 服务器>服务器>Nginx > Nginx location(正则)使用

Nginx location(正则)使用

2024年07月03日 Nginx 我要评论
1、nginx locationlocation 指令的作用是根据用户请求的uri来执行不同的应用。location使用的语法location [=|~|~*|^~] uri { ······}解释

1、nginx location

location 指令的作用是根据用户请求的uri来执行不同的应用。

location使用的语法

location [=|~|~*|^~] uri {
  ······
}

解释:

location[=||*|^~]uri{…}
指令匹配标识匹配的网站地址匹配uri后要执行的配置段

2、匹配标识说明

  • 1.~ 匹配内容区分大小写
  • 2.~* 匹配内容不区分的小写
  • 3.!~ 取反
  • 4.^~ 但多个匹配同时存在,优先匹配 ^~匹配的内容;不做正则表达式的检查 (优先处理)

3、不同uri及特殊字符组合匹配的顺序说明

顺序不用uri及特殊字符组合匹配匹配说明
1location = / {}精确匹配 /
2location ^~ /image/{匹配常规字符串,不做正则表达式匹配检查
3location ~* \.(gif|jpg|jpeg)$ {正则匹配
4location /documents/ {匹配常规字符串,如果有正则,则优先匹配正则
5location / {所有location 都不能匹配后的默认匹配

4、示例

测试代码

#location / {
#	 root   html;
#    autoindex on;
#    index  index.html index.htm;
#}

location / {
        return 401;
}
location = / {
        return 402;
}
location /documents/ {
        return 403;
}
location ^~ /images/ {
        return 404;
}
location ~* \.(gif|jpg|jpeg)$ {
        return 500;
}

访问测试

[root@www conf]# curl -i -w "%{http_code}\n" -o /dev/null -s 192.168.150.12/docuements
401
[root@www conf]# curl -i -w "%{http_code}\n" -o /dev/null -s 192.168.150.12
402
[root@www conf]# curl -i -w "%{http_code}\n" -o /dev/null -s http://192.168.150.12/documents/
403
[root@www conf]# curl -i -w "%{http_code}\n" -o /dev/null -s 192.168.150.12/images/a.jpg
404
[root@www conf]# curl -i -w "%{http_code}\n" -o /dev/null -s 192.168.150.12/docuements/abc.jpg
500

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com