Rewite规则
Rewrite规则可以实现对urI的重写。以及重定向
重定向
什么是重定向?
就是地址A跳转到地址B。
百度百科的解释:重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)
为什么要进行重定向?什么时候需要重定向?
网站调整(如改变网页目录结构)
网页被移到一个新地址
网页扩展名改变(如应用需要把.php改成.html)
这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等
curl -I www.taobao.com
curl -I taobao.com
301 redirect: 301代表永久性转移(PermanentlyMoved)
302 redirect: 302代表暂时性转移(TemporarilyMoved )
共同点:
301和302状态码都表示重定向,就是说浏览器在到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)
不同点:
301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了) ,搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B&