重定向 flag 的使用场景

来源:4-10 Rewrite规则_rewrite规则场景(2)

abulaka

2019-04-03

理解了 last 和 redirect,能举个例子说明下这两个分别应用于哪种场景下吗

写回答

1回答

Jeson

2019-04-04

一、Nginx last 和 permanent区别

rewrite last - url重写后,马上发起一个新的请求,再次进入server块,重试location匹配,所以客户端的地址栏url是不变的

rewrite permanent – 返回301永久重定向, 地址栏显示重定向后的url,所以客户端地址栏会变化成新的url去请求

主要区别在于:

1、在浏览器上的地址栏是否需让客户感觉到变化

2、301是永久重定向,用户浏览器不清理缓存的情况下,会直接缓存301信息,不会再向原有url发起请求。


二、下面举一个场景:

当网站迁移,由于域名发生变化,我们希望将htttp://www.aaa.com的 流量 全部重定向给http://www.bbb.com。

除了需要修改DNS解析,把www.aaa.com指向到www.bbb.com的IP,我们通常还会在www.aaa.com的nginx上作一个permanent的永久重定向,如下:

rewrite http://www.aaa.com   http://www.bbb.com permanent;


三、Nginx redirect 和permanent类似,只不过是反回的临时重定向302.客户的每一次(注意是每一次)请求还是会去先请求下原来的地址http://www.aaa.com 获得重定向后的url地址 www,bbb.com后,浏览器再去请求htttp://www.bbb.com




0
1
abulaka
非常感谢!解释的非常清楚
2019-04-08
共1条回复

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程