棘手状态下,让WordPress实现真正的“强制SSL”

原梓番
563
文章
122
评论
2020/11/2922:05:11 1 774 views

当我真的遇到这个问题的时候,我发现这个问题是棘手的。

用的是阿里云虚拟主机,那个.htaccess文件,只要传上去,瞬间就被自动删除,估计是阿里云那边自己维护了一个总的htaccess文件,不能单独主机修改。

那么就不能改htaccess做伪静态的跳转。

而我现在的问题是:百度收录了一个非SSL的地址,点进来,因为这个主题的原因,再二次点击其他所有地方都报错。

试了所有的方法不好用,我忽然意识到一个问题:

像我这样的青年才俊、导演界的最佳黑车司机、Wordpress届的最佳写手、自行车维修行业的Excel导师,主播界命理大师……一旦遇到棘手的问题,就说明这个问题百度没有答案。需要我自己研究开发。

思索良久,我终于找到一个解决方案如下:

在主题里的Header.php里面加入如下强制跳转代码:

<?php
if(!isset($_SERVER['HTTPS'])||$_SERVER['HTTPS']=='off'){
    header("HTTP/1.1 301 Moved Permanently");
    header('Location:https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
}
?>

加入代码后,百度搜索结果中点击链接进来,直接自动跳转到https。这样杜绝了阿里云强制跳转中的缺陷。终于实现了任何页面都全部跳转https。

这种方法,比在wp-config.php里面强制设置Define(FORCE_SSL,ON)管用。因为那个是管后台的。也好过修改伪静态文件,因为事实是部分虚拟主机不能修改htaccess文件。

 

历史上的今天
11月
29
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • 雪夜无声 2

      良心云的活动比虚拟机便宜,撸了一个123的轻量级服务器用来挂微信,现在用243