WordPress如何全站实现HTTPS?

PHP

谷歌一直在推广HTTPS,HTTPS也称之为HTTP Secure,目的为了HTTP更加安全。在今年年初的时候谷歌就已经表示,为了推进HTTPS的普及,7月份推出的Chrome 68将会标记HTTP为不安全链接,从而引起用户和站长的注意。如今已然做到,这很谷歌。在之前很多网站都是HTTP,因为技术和成本的原因一直都没有改成HTTPS。下面PHP程序员雷雪松详细的介绍一下Wordpress如何全站实现HTTPS。

1、申请SSL证书
现在国内的阿里云、腾讯云等云服务器厂商都可以申请免费的证书,具体可以登录云服务器厂商相关后台查看。以腾讯云为例,SSL证书管理->申请证书,按上面的提示填写信息,提交等待审核,一般当天能审核通过。

2、配置服务器SSL证书
当我们成功申请SSL证书之后,下载证书文件解压,分别是Apache、IIS、Nginx、Tomcat服务器的证书文件。下面我们以Apache为例:
编辑Apache根目录下 conf/httpd.conf 文件:

1
2
LoadModule ssl_module modules/mod_ssl.so #去掉前面的#号注释
Include conf/extra/httpd-ssl.conf #去掉前面的#号注释

编辑Apache根目录下 conf/extra/httpd-ssl.conf 文件,修改如下内容:

1
2
3
4
5
6
7
8
<VirtualHost www.leixuesong.cn:443>
DocumentRoot "/var/www/html/leixuesong"
ServerName www.leixuesong.cn
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/2_www.leixuesong.cn_cert.crt
SSLCertificateKeyFile /usr/local/apache/conf/3_www.leixuesong.cn.key
SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
</VirtualHost>

配置完成后,重新启动 Apache 就可以使用https来访问了。

3、登录WordPress后台,在设置-常规中将WordPress地址(URL)、站点地址(URL)两项http://www.leixuesong.cn修改为:https://www.leixuesong.cn。

4、登录和后台强制开启SSL,修改WP-config.php文件,直接在文件末尾加入以下两行代码:

1
2
3
/* 强制后台和登录使用 SSL */
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

5、更新数据库中的http链接为https。

1
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.leixuesong.cn','https://www.leixuesong.cn');

6、设置网站301重定向到https,修改.htaccess文件。

1
2
3
4
5
6
7
8
9
10
11
#网站定制化开启 HTTPS 的301重定向
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

至此,Wordpress全站就可以实现HTTPS访问了,在Chrome浏览器地址栏就不会在显示不安全的提示了。到这节骨眼上,PHP程序员雷雪松还是建议大家有时间的还是早点将Wordpress的网站改成HTTPS吧,毕竟是大势所趋,SSL证书也免费,早改HTTPS早受益。

来源:WordPress如何全站实现HTTPS?

发表评论

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