一、配置SSL证书导致的问题
PS:今天在宝塔上对博客网站加上了SSL证书,想看看效果的时候,发现博客里面的图片都加载不出来了,然后就去网上 search 了一波,分享一下解决方法。
1、无法加载博客内容中的图片
解决方法:
在你使用的 wordpress 相应主题下找到 functions.php 文件,我使用的是 newsup 主题,可以参考我的路径
/wordpress/wp-content/themes/newsup/functions.php
在文件最后添加如下代码:
/* 替换图片链接为 https */
function https_image_replacer($content){
if( is_ssl() ){
/*已经验证使用 $_SERVER['SERVER_NAME']也可以获取到数据,但是貌似$_SERVER['HTTP_HOST']更好一点*/
$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');
然后刷新一下博客,文章里面的图片就被加载出来了。这段代码功能就不介绍了,相信你们都能看懂!
2、无法加载头像
添加 SSL 证书之后发现头像也加载不出来,就重新上传了一次头像,换头像的时候发现头像的 url 使用的还是 http 协议,又去 search 了一波,最后在一篇帖子上看到有一种方法是修改数据库里面的内容,我自己尝试了一遍,确实成功了,下面是我的操作过程:
在 wordpress 数据库里面找到 wp_option 表,然后将 siteurl 和 home 的值中的 http 替换成 https
然后保存,回到 wordpress 修改个人资料的地方选择要上传的头像,查看图片的 url 链接由 http 变成了 https。
以上是我在配置 ssl 时出现的问题以及解决方法,希望对你有所帮助。
二、更换域名导致的问题
1、无法加载博客内的图片
由于第一次租的服务器快到期了,最近腾讯有活动,就索性又租了一个服务器,想把博客网站从原来的服务器迁移到新的服务器上(PS:我用的是宝塔搭建的网站,宝塔有一键迁移的插件),迁移之后,之后又给数据库整了一下,就在我满心欢喜访问新的网站的时候,发现博客里面的图片加载不出来了,就是下面这种情况
复制图片链接,发现图片的链接用的域名还是之前服务器的IP绑定的域名,就去数据库找了一顿,发现跟数据库里面的’wp_posts’这个表里面的两个字段’post_conten’和’guid’有关系,看到这里知道该怎么改了吧?
使用SQL语句把旧的域名替换成新的域名就可以了,下面是SQL语句:
修改post_content字段
UPDATE wp_posts SET post_content = REPLACE(post_content, ‘www.原域名’, ‘www.新域名’);
修改guid字段
UPDATE wp_posts SET guid = REPLACE(guid, ‘www.原域名’, ‘www.新域名’);
以上内容仅供参考,具体问题需要结合实际情况进行处理!