WordPress实现开启全站https详细教程
1、申请SSL证书
网站启用https首先得配置SSL证书,但是关键一点就是首先要拥有一个SSL证书,最初由于SSL证书价格不菲,很多个人站长会选择放弃使用Https,现在国内的阿里云、腾讯云、七牛都可以申请证书了,而且有免费的证书可以申请。
-
2、安装证书
当我们成功申请SSL证书之后,下载证书文件解压,分别是Apache、IIS、Nginx服务器的证书文件,我们以Apache为例安装SSL证书。
编辑Apache根目录下 conf/httpd.conf 文件:
找到 #LoadModule ssl_module modules/mod_ssl.so 和 #Include conf/extra/httpd-ssl.conf,去掉前面的#号注释;
编辑Apache根目录下 conf/extra/httpd-ssl.conf 文件,修改如下内容:
<VirtualHost www.domain.com:443>
DocumentRoot "/var/www/html"
ServerName www.domain.com
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt
SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key
SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
</VirtualHost>
配置完成后,重新启动 Apache 就可以使用https来访问了。
-
3、进入WP后台,进入设置-常规 将WordPress地址(URL)、站点地址(URL)两项修改为:https。
-
4、登录和后台强制开启SSL
通过修改WP-config.php文件,直接在文件末尾加入以下两行代码:
/* 强制后台和登录使用 SSL */
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
-
5、同时为了保证WordPress站点之前添加的各个链接或者多媒体文件把http协议改成https协议,我们还需要通过数据库SQL查询执行一条替换命令,代码如下:
update wp_posts set post_content = replace(post_content, 'http://ws234.com','https://ws234.com');
注意这个时候网站已经可以使用https协议打开了,同时http协议也能打开网站,要想全站启用HTTPS,我们还得配置.htaccess文件,使网站301重定向到HTTPS:
#网站定制化开启 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>
-
6、大功告成,我们下面要做的就是把外部链接改到新的https地址,同时访问一下https版本页面,包括首页、栏目页、内页、sitemap,查一下源代码,看看还有没有http地址的存在。
-