nginx location语法

匹配模式

=  全等匹配

~ 正则匹配

! 非 (!= !~)

* 忽略大小写 (~* !~*)

^~ 优先匹配

优先级:

全等匹配 > 优先匹配 > 正则匹配

 

root vs alias

访问url:/static/thisisa.js

location /static/{

  root /var/projectA

  alias /var/projectB

}

root:/var/projectA/static/thisisa.js (后面加全部访问路径 包含static)

alias:/var/projectB/thisisa.js (后面加匹配字符串后面的路径)

 

proxy_pass vs rewrite

proxy_pass结尾加斜杠(或路径)

访问url:/api/thisisaapi

location /api/{

  proxy_pass a.com:1234

  proxy_pass b.com:1234/

  proxy_pass c.com:1234/dps/

}

不加: a.com:1234/api/thisisaapi(后面加全部访问路径)

加:b.com:1234/thisisaapi(后面加匹配字符串后面的路径 常用)

加路径: proxy_pass c.com:1234/dps/thisisaapi(后面加匹配字符串后面的路径)

正则匹配的情况下,proxy_pass结尾最好不要加路径

 

proxy_pass vs rewrite

proxy_pass是服务器内部转发,是我帮你访问目标地址,在这个页面反映出来

rewrite是给信号让浏览器重定向,是这个页面给你个信号,你自己访问目标地址

有点像java开发里面的forword跟redirect

 

rewrite regex replacement [flag]

例子: rewrite ^/(.*) http://baidu.com/$1 permanent;

^/(.*)代表所有路径,即所有情况下这条rewrite都生效

$1 代表regex里面括号里面匹配到的东西,即把匹配到的(这里相当于全部路径)路径重定向到http://baidu.com/后面

permanent重定向状态码是301 类似的有redirect是302

break跟last的区别:https://segmentfault.com/a/1190000020753046?utm_source=tag-newest

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值