HTTP301重定向HTTPS及HTTPS301重定向HTTP规则方法

发布时间:2021-01-15 作者:安阳博客网 所属分类:程序代码

百度一直推荐大家都对HTTP站点进行HTTPS改造,说简单点就是要大家在HTTP站点的基础上部署SSL证书,并向大家解释说使用HTTPS协议将会有利于网站排名,这主要是因为HTTPS使用了较为安全的443端口,而HTTP则使用了80端口,在网站安全方面确实HTTPS更叫人放心,不过在更改HTTPS之后会存在一个影响网站优化的问题,那就是HTTP站点与HTTPS站点同时可以访问首页,这样会造成权重分散,严重影响其排名展现,出现这样的问题,相信许多SEO第一时间想到的就是 301重定向 这种方法来集中权重,但毕竟许多人也并不会设置301重定向,不过今天我们就教大家来轻松设置HTTP301重定向HTTPS及HTTPS301重定向HTTP的规则!

HTTP 301重定向 HTTPS规则,首先在网站根目录建设一个.htaccess文件,之后将以下代码复制到进文件中并保存,如果服务器设置有缓存或使用CDN服务,那么则需要刷新缓存操作,并更新浏览器缓存,之后刷新网站首页 会发现301重定向成功.

RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

以上规则适合LAMP的服务器环境使用,但有些却使用了WIN主机,这时显然.htaccess就不会起到HTTP 301重定向 HTTPS作用,因此我们需要使用与WIN主机配套的规则,在网站根目录下建设一个名为web.conifg的文件,将以下代码复制后粘贴进文件内并保存.

<system.webServer>
    <rewrite>
      <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

那么既然有HTTP 301重定向 HTTPS的规则,当然也会有HTTPS 301重定向 HTTP规则,这主要是因为部分网站改造HTTPS后发现了不同情况的问题,例如海外网站访问HTTPS站点异常,或是某些网站依赖的插件不适合HTTPS协议,这时为了更加良好的使用网站,就需要将HTTPS站点重新改造成HTTP站点,然而网站已经被搜索引擎收录了许多HTTPS站点的页面,如果不适用 301重定向的话将会造成大面积的 404页面,这时就需要我们来设置HTTPS 301重定向HTTP规则,从而减轻对搜索引擎的影响.

同样的将以下规则复制后粘贴进.htaccess文件当中,如果文件中有HTTP 301重定向 HTTPS 的规则还需要将其删除,刷新HTTPS站点会发现网站已经 301重定向到HTTP站点上了.

RewriteEngine On
RewriteCond %{SERVER_PORT} !^80$
RewriteRule (.*) http://%{SERVER_NAME}/$1 [R=301,L]

通过设置HTTP301重定向HTTPS及HTTPS301重定向HTTP规则,可以最大限度的减少协议间的转换造成对搜索引擎排名的影响,使网站优化对SEO更友好,从而使得网站权重更安全的互换传递,这对网站优化而言尤为重要.