Nginx重写请求地址

  location /api/ {

  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header REMOTE-HOST $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://127.0.0.1:80;
   proxy_connect_timeout 2;
   proxy_read_timeout 50;
   rewrite "^/api/(.*)$" /$1 break;
   }

rewrite指令可以用于修改请求地址,实际操作的语法是:rewrite regex replacement [flag];

这个rewrite可以出现的上下文是:server , location , if

1.regex : 是代表要匹配的正则表达式,可以通过正则表达式提取变量

2.replacement : 要替换的url地址

3.flag : 是我们进行完替换之后,要进行的操作

所以rewrite指令就是将regex指定的url替换成replacement这个新的url,然后再执行flag操作。

flag对应的操作有四种:

1.last : 用replacement这个URL重新进行location的匹配

2.break : 停止当前脚本指令的执行,等价于独立的break指令,这里停止的脚本指令指的是停止rewrite模块内的所有脚本指令

3.redirect : 返回302重定向

4.permanent : 返回301重定向

所以上文中我们使用了break指令

然后我们再来看一下regex部分,这里我们是用到了常用的正则表达式:

在这里插入图片描述

在这里插入图片描述

我们上面是将/api分割开,这里用$1引用前面正则表达式匹配到的分组(组编号从1开始),即/api/后面的所有内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值