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

网上也有非常多的各式各样的WordPress开启https访问的方法,这里子凡就简单的给大家分享两种方法吧!
方法一、传统方式将WordPress开启整站HTTPS协议
1.登录和后台强制开启SSL,可以通过修改wp-config.php文件,直接在文件末尾加入以下两行代码:
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);或者在确认WordPress站点已经开启https协议并可以通过https访问,那么可以直接登陆后台,通过“设置”中“常规”里面把“WordPress地址(URL)”、“站点地址(URL)”两个地址的http修改为https并保存。

2.然后还需要确定的就是通过“设置”中“多媒体”菜单把“文件的完整URL地址”也改为https协议,如果文件的完整URL地址之前是缺省的,那么也就可以不用修改。

3.同时为了保证WordPress站点之前添加的各个链接或者多媒体文件把http协议改成https协议,我们还需要通过数据库SQL查询执行一条替换命令,代码如下:
update wp_posts set post_content = replace(post_content, 'http://zhangzifan.com','https://zhangzifan.com');
以上代码以泪雪博客地址为例,使用时请按照自己数据库表名(wp_posts)和网站域名修改后在执行即可。
方法二、代码方式让WordPress开启整站HTTPS协议
我们都知道,我们如果使用了WordPress的多媒体上传和插入图片附件的时候,附件都被WordPress标记为了绝对链接,一般需要修改数据库,但这种方法子凡是非常不推荐的,对于不是非常熟悉数据库的同学们估计网站直接被毁也是可能的,所以子凡在这里推荐一种自己正在使用和即将在Fanly主题2.0支持的一种方法。
以下代码已于2017/2/5更新,不仅仅支持WordPress站内链接支持HTTPS协议,支持多域名的多媒体附件HTTPS协议,同时也新增方法二相对链接功能支持。
老规矩,编辑当前主题下的 functions.php 文件,加入以下代码:
代码一:HTTPS绝对链接替换
//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");
} }代码二:HTTPS相对链接替换
//WordPress SSL
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, '//'), strstr($siteurl, '//'), $content);
$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), strstr($upload_dir['baseurl'], '//'), $content);
return $content;
}
ob_start("fanly_ssl_main");
}
}以上就为大家提供了两种实现的方式,方法一主要是通过直接修改WordPress的配置以及将之前的http协议直接通过数据库执行替换命令修改为https协议,这样算是一个一劳永逸的方式,同样网站以后也将必须使用https协议才能访问,如果哪天服务器关闭了SSL证书,那么很遗憾的告诉你,你还需要使用方法一中的方式反过来操作,如果你非常确定网站以后都会使用https协议,那么推荐使用方法一。
如果你是一个喜欢折腾,有太多不确定因素,那么可以使用子凡提供的方法二,同样还提供了两种代码解决方式都可以完美支持HTTPS协议,如果你的站点需要支持HTTP和HTTPS双协议共存,那么就选择使用代码二的相对链接替换方法吧,反之子凡则推荐实用代码一的绝对链接替换方法。
到这里你的WordPress站内链接都将使用HPPTS协议,非本站点的链接保持原样,比如友情链接和站外图片链接等。
写在最后:如果你的WordPress站点开启了HTTPS,如果在360浏览器、猎豹浏览器等打开地址栏前未显示绿色小锁图标,那么说明你的网站加载了非SSL引入的资源,建议大家仔细排查。
上一篇:WordPress如何正确移除Feed中的WP版本号?
栏 目:WordPress
下一篇:WordPress插件兼容PHP7.x需要注意和修改的问题
本文标题:WordPress整站开启HTTPS协议,让站内链接支持SSL证书
本文地址:https://zz.feitang.co/CMSjiaocheng/25030.html
您可能感兴趣的文章
- 11-11wordpress导航菜单新窗口打开的设置方法
- 11-11WP-PostViews插件如何修改文章阅读数
- 11-11wordpress附件保存目录改为年月日和上传文件重命名为时间戳
- 11-11WordPress 上传媒体库文件重命名 全格式支持
- 11-11解决wordpress安装后更新或者上传文件权限不足的问题
- 11-11wordpress实现主动推送+熊掌号推送同步进行
- 11-11WordPress 添加友情链接设置 nofollow 属性
- 11-11WordPress 实现 wp_list_bookmarks 自定义友情链接排除调用
- 11-11WordPress首页指定或排除某分类文章显示
- 11-11WordPress不同分类调用不同的文章模板


阅读排行
推荐教程
- 09-22wordpress如何添加描述
- 11-11wordpress附件保存目录改为年月日和上传文件重命名为时间戳
- 10-19纯代码给WordPress网站添加独立下载页面功能
- 11-11WordPress之给文章内容中间插入广告的实现方法
- 10-18wordpress无插件调用随机文章的方法
- 10-18WordPress 技巧:WordPress 后台也使用七牛云存储
- 10-24Win10无法调节声音怎么办?Win10无法调节声音的解决方法
- 10-19WordPress上传图片HTTP错误的解决方法
- 10-18让注册用户可以上传自己的头像的WordPress插件-WP User Avatar v2.
- 11-11国外WordPress精美主题如何DIY汉化成中文版呢?





