wordpress开启全站https(由http转换为https)

  • 2019-03-13 10:56:35
  • 3,222 次阅读
  • 稿源:天马行空

https传输协议具有安全加密功能,有效防止网站流量被劫持,更好的保护用户隐私等特点。在seo方面,使用https的网站页面更安全可靠,百度会优先收录展示,排名上会更靠前。这些优势是http协议无法比拟的。因此用户采用https协议能够更好的运营自己的网站。

若用户需要使用https协议,那么需要配置安装SSL证书,对于很多服务商提供了一年免费使用的期限,并且申请和操作起来挺方便。

在上一篇文章有个小问题,那个代码只能开启正文图片url的https,但对于首页中缩略图中的图片的url仍然是http的形式,所以今天将整个站点都采用https的形式,包括js,css,音频,图片等的url地址统一是https的协议。那就开始行动起来吧!

方法一:从根本上开启wordpress全站https协议

(1)通过wordpress后台的“设置”中“常规”将“WordPress 地址(URL)”、“站点地址(URL)”两个地址的 http 修改为 https 并保存。url_configure

(2)为了保证wordpress整个站点中的url全部更改为https协议,需要用到数据库查询语句进行替换,如下面的代码:

update wp_posts set post_content = replace(post_content, 'https://www.maxing128.com','https://www.maxing128.com.com');

这种方法是直接对数据库进行了操作,如果哪天你确定不再使用https协议了,还需要反过来进行操作。需要谨慎操作,建议在更改前,对数据库进行备份。

方法二:函数替换url地址开启wordpress全站https协议

如果使用方法一,嫌麻烦,怕操作有风险,那么可以使用函数代码替换的方式,在functions文件中加入下列代码:

add_filter('get_header', 'change_http_to_https');
function change_http_to_https(){
	if( is_ssl() ){
		function change_http_to_https_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("change_http_to_https_main");
	}
}

重写规则

完成以上步骤之后,就可以访问到https的URL了,但是http的URL还是能够被访问到。为了https的统一化,这时我们需要做重定向。
在网站的根目录中找到.htaccess的文在,在里面加入下列代码

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# BEGIN WordPress
RewriteRule ^sitemap.xml$ xmlmap.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

301状态检测

使用站长工具进行检测(http://tool.chinaz.com/pagestatus/),结果如下图https_status

百度站长平台https认证

通过百度帐号登录站长平台申请https认证,如下图baidu_https_certification

喜欢 8

文章评论 (0)

表情

大眼 可爱 大笑 坏笑 害羞 发怒 折磨 快哭了 大哭 白眼 晕 流汗 困 腼腆 惊讶 憨笑 色 得意 骷髅 囧 睡觉 眨眼 亲亲 疑问 闭嘴 难过 淡定 抗议 鄙视 猪头