http跳转到https,使用301跳转还是302跳转!

启用HTTPS的站长都会有这么一个困惑,我是否还要保留HTTP的正常访问?如不保留,使用何种方式重定向到HTTPS?

今日百度站长平台在其两篇文章张对以上两个问题进行了解答:

如果存在HTTP和HTTPS两种协议的网站,必须将HTTP的URL301到HTTPS的URL上,仅有HTTPS站点的可以通过百度HTTPS认证;

如果打算长久使用https,只能是301,301是永久重定向,302是临时,会导致许多麻烦的问题出来,http与https会把你弄成两个网站了

这里的301和302指的是http请求状态码,对用户来讲没什么区别,但是对于搜索引擎关系重大,301是永久重定向而302则被认为是临时的,所以应该采用301的方式,做301跳转一般又有两种方式:1.使用程序跳转2.使用web服务器配置跳转。

第一步

先让不带www的跳转到www的域名

第二步

再将www的域名全部跳转到带https的域名

以下是Apache的写法:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^baidu.com$ [NC]
RewriteRule ^(.*)$ http://www.baidu.com/$1 [R=301,L]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]