前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx的location区块的作用及设置

Nginx的location区块的作用及设置

作者头像
星哥玩云
发布2022-07-13 14:13:53
5060
发布2022-07-13 14:13:53
举报
文章被收录于专栏:开源部署

1.location的作用

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

2.location的语法

location的语法是:

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

其中"="的优先级为最高,为精确匹配;特殊字符"~"和"~*"的区别在于前者区分大小写,后者不区分大小写,他们还可以用逻辑操作符"!"来取反匹配;"^~"的意思是匹配之后不做正则表达式的检查,就是不用匹配类似于"\.(gif|jpg|jpeg)$"的正则表达式了,也就是说"^~"后面跟了正则表达式也没有用的。

location的匹配示例:

location = / { [ configuration A ] }                    #用户请求"/"时,匹配A,例如:www.pcm.com/location / { [ configuration B ] }                      #当用户请求"/index.html"时,匹配B,例如:www.pcm.com/index.htmllocation /documents/ { [ configuration C ] }            #当用户请求"/documents/"时,匹配C,例如:www.pcm.com/documents/index.html      location ^~ /images/ { [ configuration D ] }            #当用户请求"/images/"时,匹配D,:www.pcm.com/images/1.jpg location ~* \.(gif|jpg|jpeg)

3.location实验验证

我们在bbs的主机上做验证,配置文件如下:

server {  listen      80;  server_name  bbs.pcm.com;  root  html/bbs;  location = / {   return 401;  }  location / {   return 402;  }  location /documents/ {   return 403;  }  location ^~/images/ {   return 404;  }  location ~* \.(gif|jpg|jpeg)$ {   return 405;  } }

    检查语法,没问题的话重新加载配置文件,平滑重启nginx

    实验的结果如下:

    从上图可以验证到结果没问题的。其中location配对的方法是每条规则都去匹配,直到匹配到最为匹配的结果才输出;还有就是"/"这个是默认匹配的,如果都匹配不上的时候,最后就会默认匹配"/",所以输出的结果为402.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档