WordPress开启HTTPS协议,让站内链接支持SSL

张子凡 WordPress 4周前 (12-23) 阅读(1766) 评论(2)

最近这些天子凡一直在忙于折腾泪雪博客,做博客的搬家,再到Fanly主题的2.0版本优化升级,同时泪雪博客也接入SSL证书,支持HTTPS协议访问了,所以在这里子凡想要分享一个关于WordPress网站支持SSL的问题,当然WordPress程序是100%支持SSL的,但是不排除我们网站的主题模板以及站内链接都是支持HTTPS协议的。

WordPress开启HTTPS协议,让站内链接支持SSL

网上也有非常多的各式各样的WordPress开启https访问的方法,这里子凡就简单的给大家分享两种方法吧!

一、登录和后台强制开启SSL

修改WP-config.php文件,直接在文件末尾加入以下两行代码:

1
2
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

二、WordPress开启站内链接支持SSL

我们都知道,我们如果使用了WordPress的多媒体上传和插入图片附件的时候,附件都被WordPress标记为了绝对链接,一般需要修改数据库,但这种方法子凡是非常不推荐的,对于不是非常熟悉数据库的同学们估计网站直接被毁也是可能的,所以子凡在这里推荐一种自己正在使用和即将在Fanly主题2.0支持的一种方法。

以下代码已于2016/12/24加强,不仅仅支持WordPress站内链接支持HTTPS协议,同时支持多域名的多媒体附件HTTPS协议。

老规矩,编辑当前主题下的 function.php 文件,加入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//WordPress SSL at 2016/12/29 update
add_filter('get_header', 'fanly_ssl');
function fanly_ssl(){
	if( is_ssl() ){
		function fanly_ssl_main ($content){
			$siteurl = get_option('siteurl');
			$upload_dir = wp_upload_dir();
			$content = str_replace( 'http:'.strstr($siteurl, '//'), 'https:'.strstr($siteurl, '//'), $content);
			$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), 'https:'.strstr($upload_dir['baseurl'], '//'), $content);
			return $content;
		}
		ob_start("fanly_ssl_main");
	}
}

到这里你的WordPress站内链接都将使用HPPTS协议,非本站点的链接保持原样,比如友情链接和站外图片链接等。

写在最后:如果你的WordPress站点开启了HTTPS,如果在360浏览器、猎豹浏览器等打开地址栏前未显示绿色小锁图标,那么说明你的网站加载了非SSL引入的资源,建议大家仔细排查。

最后在告诉Fanly主题用户一个好消息,Fanly 2.0将支持SSL,敬请期待咯!

除非注明,否则均为泪雪博客原创文章,转载请以链接形式标明本文地址

本文链接:https://zhangzifan.com/wordpress-ssl-link.html

发表评论

  1. 抛丸机网
    1楼
    抛丸机网 4周前 (12-23)

    就改一下这个就好了吗

    • 张子凡
      回复
      张子凡 4周前 (12-23)
      回复 @抛丸机网 :首先服务器上你的先配置安装好SSL证书才行