nginx rewrite 重定向的问题解决

  •  目的: 是通过 nginx重写 到我的开发电脑便于debug调试;

最终的nginx配置:

最终的nginx 配置:

server {
        listen   80; ## listen for ipv4; this line is default and implied

        root /usr/share/nginx/www;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name mtest.v1.cn;

        location / {
                proxy_pass http://192.168.51.170:8080;
                rewrite ^/video/(.*)$   /mobileplay/$1 break;
        }
}
  • nginx 关于 rewrite 指令最后一项的参数说明:

    last :  相当于apache里的 [L]标示,表示完成rewrite;

    break:本条规则匹配完成后,终止匹配,不再匹配后面的规则;

    redirect:返回302临时重定向,浏览器地址栏会显示跳转后的url地址;

    permanent: 返回301 永久重定向,浏览器地址会显示跳转后的url地址;

在以上的标示中,last和break 用来实现url重写,浏览器地址栏的url地址不会变化;redirect和permanent用来实现url跳转,浏览器地址栏会显示跳转后的url地址;

  • 注意的问题:

    nginx rewrite 指令在重写时:


如果写成:
rewrite ^/video/(.*)$   http://192.168.51.170:8080/mobileplay/$1 break;

此种方式会造成 浏览器url地址的变化;
原因是: nginx 重写后的地址如果以“http://” 开头 nginx 就会作为 重定向处理,即使是以 last 、break 结束;

具体实现需要添加 proxy_pass 代理到指定的服务器,见上面的的正确配置;

 

转载于:https://my.oschina.net/haopeng/blog/698562

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值