开启HTTPS-05:CMS配置,WordPress开启Https,资源改造和301重定向
搞定了服务器后,就要开始对软件下手了。我们这里拿WordPress这个大众CMS来举例。如果你使用其他系统,其实修改的道理是一样的。

WordPress手工开启Https
- 将WordPress后台的设置→常规里的两个地址改为https形式。
- 将所有本站域名的内链链接和媒体链接改为https://形式(推荐直接改为//)。

上述操作可以直接通过数据库批量替换来实现,你可以借助WordPress的插件“Search and Replace”来实现替换。如果你手工修改过主题文件,并且主题文件里有http形式的链接,请也改为双斜杠或https形式。
WordPress自动开启Https
- 安装插件“Really Sample SSL”并启动。
- 点击顶部弹出的立即执行。
- 待执行完成后,打开设置页面,点击关闭插件保留SSL即可。
上述操作可以帮助你完成站内链接的https替换,完成后可以关闭并保留设置,如果没问题就可以删除插件了,可以保持站点的轻量化。但注意,这个插件无法对主题文件中的http链接做出修改(换句话说,也是只适用于数据库部分)。
排查第三方资源的问题
完成了站内的https改造,你还需要检查第三方资源的安全问题。比如说,站点引入的第三方的字体、js、css或图片等文件,如果链接不是https,在相应页面浏览器也会提示你该页面“存在不安全内容”。

官方和大厂的源提供的字体、js、css等一般默认为https链接,即便不是也可以直接改为https且能正常访问。对于不能提供https的源,建议放弃比较好,因为这类源一般维护状况也不会很理想……
而如果选择静态托管,也就是上传js和图片到某服务器,再引入到自己的网站,那么https的问题也许是可以解决的。可以查看本教程的第六部分,有开启七牛云存储的https的方法介绍,让你继续使用七牛云作为图床。
在完成了第三方资源的配置后,图片无法打开和排版错乱的问题应该都能得到解决。
全站从http经301重定向到https
最后只要做一步重定向即可。就拿本站域名举例,在根目录下的.htaccess里加入下述代码即可。WordPress会自动生成.htaccess文件,所以没有需要新建文件的问题。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.kamilet.cn/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^kamilet.cn [NC]
RewriteRule ^(.*)$ https://www.kamilet.cn/$1 [L,R=301]
加入后,网站的http地址会被强制301跳转到https地址,我们的全站301就宣告完成了。但要注意这个设置将导致我们不再能使用80端口访问网站。当证书过期或者出现问题后,我们只要想办法修改.htaccess文件并去掉上述代码,就可以正常使用http访问我们的网站了。
楼下是疯子。哈哈
哇塞,居然是沙发?留个名