EMLOG实现全站301重定向的方法
随着HTTPS加密传输的普及,很多EMLOG站长都纷纷开始部署SSL,博客志此前也分享了一些EMLOG实现HTTPS的方法,现在博客志就EMLOG实现全站301重定向的方法再进行一次普及和分享。
一、PHP一句话实现EMLOG全站301重定向
1、打开模板文件header.php,将下面的代码添加到合适的位置即可
<?php //方法一 https状态 if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off'){ Header("HTTP/1.1 301 Moved Permanently"); header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); } ?> <?php //方法二 判断端口 if($_SERVER['SERVER_PORT']=="80"){ Header("HTTP/1.1 301 Moved Permanently"); header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); } ?>
二、利用.htaccess文件实现EMLOG全站301重定向
1、下载.htaccess文件,根据需要添加下面的协议
方法一、单域名跳转 RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://你的域名/$1 [R,L] 方法二、整站跳转 RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]
三、原理解析
第一种方法,通过PHP一句代码实现EMLOG网站HTTP跳转HTTPS达到全站301重定向目的,操作更加简单,不受服务器环境限制
第二种方法,利用.htaccess文件实现HTTP跳转HTTPS达到全站301重定向目的,适合Linux系统,但改错一个代码都会导致网站出错
三、注意事项
1、本教程的两个方案,博客志更加推荐使用第一种方法,第二种方法适合对于rewrite规则熟悉的老手