nginx--location详解

location运行顺序

在这里插入图片描述

location [=|~|~*|^~] /uri/ { … }

通用匹配符

1、^: 匹配字符串的开始位置;

2、 $:匹配字符串的结束位置;

3、.*: .匹配任意字符,*匹配数量0到正无穷;

4、\ 斜杠用来转义,"\ ." 匹配 " ." 特殊使用方法,记住记性了;

5、(值1|值2|值3|值4):或匹配模式,例:(jpg|gif|png|bmp)匹配jpg或gif或png或bmp

6、i不区分大小写

一.正则表达式匹配,其中:

  • ~ 为区分大小写匹配
  • ~* 为不区分大小写匹配
  • !~ 和!~*分别为区分大小写不匹配及不区分大小写不匹配
模式含义
location = /uri= 表示精确匹配,只有完全匹配上才能生效
location ^~ /uri^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern开头表示区分大小写的正则匹配
location ~* pattern开头表示不区分大小写的正则匹配
location /uri不带任何修饰符,也表示前缀匹配,但是在正则匹配之后
location /通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default

location__ proxy_pass

在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。
比如:我访问 http://192.168.1.1/proxy/index/

location /proxy/ {
    proxy_pass http://127.0.0.1/;
}
############# 代理的url   http://127.0.0.1/index

location /proxy/ {
    proxy_pass http://127.0.0.1;
}
###########代理到URL:http://127.0.0.1/proxy/index

location __ 静态文件代理 root 和 alias 的区别

如果用root属性: root代理的路径+location路径
如果用alias属性 : alias代理的路径
比如:我浏览器访问地址为192.168.1.1/html/abc.html

 location /html/{
	root  /home/tz/static/;
}
########  代理到URL /home/tz/static/html/abc.html

location /html/
{
   ailas /home/tz/static/;
}
##########  代理到URL /home/tz/static/abc.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值