因为云服务器的价格问题或者VPS稳定性等原因,我们有时候不得不给网站更换主机,wordpress搬家的教程网上有很多,但是正如那句”听过很多道理依然过不好这一生一样“,学过很多教程,依然会遇到新问题。比如,有人在给wordpress网站搬家之后,发现图片打不开了。出现这个问题的原因很多,其中一个原因就是因为图片地址的http和https不通用,这样就造成我们更换主机之后wordpress图片不显示的问题。
有时候是网页中的图片链接都被写成了HTTP的,导致浏览器出于安全的原因,不再加载图片,因此需要WordPress同时支持HTTP,HTTPS。也有时候是原来网站使用的HTTPS,但是搬家之后还没有来得及开启SSL证书,那么http模式下,就打不开https地址的图片,我们可以使用代码让wordpress同时支持http和https 。
让wordpress同时支持http和https
functions.php末尾追加如下代码:
/* 让wordpress同时支持http和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');
数据库批量更换图片地址
1.备份一下数据库。
2.登陆phpMyAdmin,修改option_value里的站点url和主页地址:
UPDATE wp_options SET option_value = REPLACE(option_value,'原地址','新地址');
3.点击“执行”就可以替换掉原来的URL.
通过以上两个方法,我们可以解决大部分wordpress图片不显示的问题。