一、配置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独立图片列表模板_运维


然后保存,回到 wordpress 修改个人资料的地方选择要上传的头像,查看图片的 url 链接由 http 变成了 https。

以上是我在配置 ssl 时出现的问题以及解决方法,希望对你有所帮助。

二、更换域名导致的问题

1、无法加载博客内的图片

由于第一次租的服务器快到期了,最近腾讯有活动,就索性又租了一个服务器,想把博客网站从原来的服务器迁移到新的服务器上(PS:我用的是宝塔搭建的网站,宝塔有一键迁移的插件),迁移之后,之后又给数据库整了一下,就在我满心欢喜访问新的网站的时候,发现博客里面的图片加载不出来了,就是下面这种情况

wordpress独立图片列表模板_数据库_02


复制图片链接,发现图片的链接用的域名还是之前服务器的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.新域名’);

以上内容仅供参考,具体问题需要结合实际情况进行处理!