今天下午突然收到备案通过的短信,还是有点小惊喜,终于可以用上国内的CDN服务了。

再腾讯云CDN里接入了网站,也配置了证书。问题也是从配置证书这里开始的。

刚开始,不知道是哪里的错误,进首页直接显红不安全,不加载js脚本,要手动点击才能正常显示首页。这个问题在腾讯云的CDN控制页面开启了强制跳转https莫名其妙解决了。

虽然不显红能正常访问了,但是还是没有小绿锁,F12看了一下,图片资源的URL还是http,查了一下,两种解决的办法。

1.用修改数据库的方法批量替换

2.通过主题的 functions.php 文件来批量替换

第一种办法:

在phpmyadmin里面执行sql语句:

UPDATE wp_posts SET post_content = replace(post_content, 'http://域名/wp-content/uploads','https://域名/wp-content/uploads');

第二种办法:

在functions.php文件里添加

/* 替换文章图片链接为 https */
function https_image_replacer($content){
if( is_ssl() ){
$host_name = $_SERVER['HTTP_HOST'];
$http_host_name='http://'.$host_name.'/wp-content/uploads';
$https_host_name='https://'.$host_name.'/wp-content/uploads';
$content = str_replace($http_host_name, $https_host_name, $content);
}
return $content;
}
add_filter('the_content', 'https_image_replacer');

function replacehttp($content){
if( is_ssl() ){
$content = str_replace('http://域名/wp-content/uploads', 'https://域名/wp-content/uploads', $content);
}
return $content;
}
add_filter('the_content', 'replacehttp');

这两种办法解决了我后台的媒体页面没有小绿锁的问题,但是首页问题依旧,想了好久,终于想起我的主题设置里面关于第一屏的图片链接,默认给的是http,遂改之,终于解决了这个问题。


猫の手も借りたいほどだ