WordPress博客启用HTTPS后浏览器依旧提示不安全 没有小绿锁

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

本文共1298个字,预计阅读时间需要4分钟。


前言

博主在整上免费的ssl后,网站就已经是https访问了,但是访问时依旧提示访问不安全。

WordPress博客启用HTTPS后浏览器依旧提示不安全

 

这让博主很郁闷,访问不安全,可能会导致很多人怀疑网站有问题。

 

原因

带着这个问题,我研究了一下,后来发现网页内依然使用了http://协议的文件,比如图片、js、css等静态资源。

也就是说,虽然访问网站时是https,但是加载的某些资源依旧是http的,这就让浏览器疑惑了。

 

解决方案

简单粗暴型解决方案

编辑nginx配置文件,(这里以宝塔面板为例)在server中插入这一句代码

add_header Content-Security-Policy "upgrade-insecure-requests";

WordPress博客启用HTTPS后浏览器依旧提示不安全

 

这样做最省事,即使网页中存在http://资源,浏览器也会自动处理以https://形式加载。

 

稳定至上型解决方案

登录phpmyadmin,先备份数据库文件!先备份数据库文件!先备份数据库文件!!然后执行以下命令(使用时请按照自己数据库表名(wp_posts)和网站域名修改后再执行即可。)

update wp_posts set post_content = replace(post_content,'http://www.320nle.com','https://www.320nle.com');

 

也可以导出数据库文件 .sql (先备份一份放一边!) 然后清空数据库,使用代码编辑器(别用txt编辑器打开!)批量替换该文件中的http://你的域名 为https://你的域名,替换好之后再上传回去。

 

专治各种不服型解决方案

编辑当前主题下的 functions.php 文件,加入以下代码:

//WordPress SSL 证书变绿色 update
add_filter('get_header', 'fanly_ssl');
function fanly_ssl(){
if( is_ssl() ){
function fanly_ssl_main ($content){
$siteurl = get_option('siteurl');
$upload_dir = wp_upload_dir();
$content = str_replace( 'http:'.strstr($siteurl, '//'), 'https:'.strstr($siteurl, '//'), $content);
$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), 'https:'.strstr($upload_dir['baseurl'], '//'), $content);
return $content;
}
ob_start("fanly_ssl_main");
}
}

 

对于此方案我发现了一个重要BUG:它会把你网站所有指向http://的链接全部强制替换成https:// ,即使你的友链也不放过,请谨慎使用!

 

本文转载至:https://www.lajiboke.com/14.html

 

Hey,你好哇。影视剪辑 | AE | Pr | 电脑技术 | 摄影摄像 | 电影 | 电视剧 | 二次元

我们下次见

剪辑交流群:685624383

本文最后更新于2019年10月16日,已超过 1 个月没更新!

本文首发于320印象,欢迎转载,但是必须保留本文的署名320印象(包含链接)。如您有任何商业合作或者授权方面的协商,请给我留言:admin@mail.320nle.com作者:静海流沙, 转载或复制请以 超链接形式 并注明出处 320印象
原文地址:《WordPress博客启用HTTPS后浏览器依旧提示不安全》 发布于2019-10-16

分享到:
赞(1) 打赏
您阅读这篇文章共花了: 0小时00分00秒

评论 抢沙发

3 + 1 =


请作者喝杯饮料吧~

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录