Apache2开启了Https支持,但是在Https打开网页的时候,发现,图片都不能正常的显示出来,看了一下源代码,发现是网页中的图片链接都被写成了HTTP的,导致浏览器出于安全的原因,不再加载图片,导致效果很差,因此需要WordPress同时支持HTTP,HTTPS。
找到当前主题下的 function.php
文件,编辑之,在里边代码的末尾追加如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 |
/* 替换图片链接为 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'); |
参考链接:WordPress 开启全站 HTTPS