1.301的释义
301是http请求返回值的状态码,它表示将网页永久地转移到另一个地址。
2.301的用法
新站301:
一个网站通常会解析2个域名,一个顶级域名 一个www二级域名。
我们需要确定一个排名域名,也叫首选域, 把另一个域名301到首选域上是新站必做的操作,这样可以集中网站权重。
如果没有301重定向搜索引擎很可能会将两个域名都收录,还有可能导致其中一个网址被降权。
换域名301:
当网站需要换域名的时候,301重定向可以让老域名权重转移到新域名上。
将网站全站301对应到新域名,然后到搜索引擎平台提交改版,等待搜索引擎权重转移,一般是2-4周。
3.http协议的重定向
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
...
}
注意:对于return
必须带上协议头,即http://
必须带上$request_uri参数
4.https协议的重定向
server {
listen 443 ssl;
server_name www.example.com;
server_name example.com;
ssl_certificate ssl/www.example.com.crt;
ssl_certificate_key ssl/www.example.com.key;
...
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate ssl/www.example.com.crt;
ssl_certificate_key ssl/www.example.com.key;
return 301 https://www.example.com$request_uri;
}
注意:重定向的配置中也需要添加ssl_certificate的配置信息
5.301和302区别
301: 永久性转移(Permanently Moved)、302: 暂时性转移(Temporarily Moved)
共同点:二者都表示重定向,浏览器在获取服务器的返回码后会自动根据头部的Location值跳转到新的URL地址;
不同点:301表示旧地址被永久地移除了,已经不可访问;302表示旧地址还在,只是临时进行跳转,后续还是访问旧地址。