Apache2开启了Https支持,但是在Https打开网页的时候,发现,图片都不能正常的显示出来,看了一下源代码,发现是网页中的图片链接都被写成了HTTP的,导致浏览器出于安全的原因,不再加载图片,导致效果很差,因此需要WordPress同时支持HTTP,HTTPS。

找到当前主题下的 function.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');

文章来源:http://www.mobibrw.com/2016/3047

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据