星期一, 2 12 月, 2024
技术WordPress网站强制...

WordPress网站强制https访问解决方案

啦啦啦,真快啊!今天已经农历年初八了,很多小伙伴都已经奔赴北上广上班了!小编也开工咯,从这篇“WordPress网站强制https访问解决方案”开始吧!

过年这段时间,一直在忙着“一个你”网站的升级改造,累啊!以前小站的SSL证书是采用第三方的又拍云(现在千万别用,详情见“点击打开”文章第二段),所以全站的https访问都是通过又拍云解析来实现的,因为种种原因,改成了服务器商的SSL证书,一键安装、简单易用!

但是,证书倒是安装完毕了,却出现搜索引擎(比如:百度)收录网站的部分url打开却是http,并没有强制跳转到https,此时如果在url地址栏再回车一下,又会跳转到https,这种奇怪现象,好像有延时一样,折腾好久,终于找到了方法!

为什么要解决http问题,因为http会被很多浏览器标记为不安全链接,并且搜索引擎收录不是很友好,具体更多可自行查询。

出现这种问题跟SSL证书没有关系,证书是一键安装的,跟网站根目录下的“.htaccess文件”代码有关!
本篇文章主要针对Linux系统Apache内核环境的服务器主机有效,Nginx内核环境的未测试…

开始操作之前,一定要保证你的站点“设置—常规”里面的WordPress地址(url)与站点地址(url)都是“https://www.yigeni.cc”,将此处“yigeni.com”替换成你的网站域名即可!此帖要实现的效果是:无论在url地址栏输入“yigeni.cc”还是“www.yigeni.cc”,它们都会自动强制跳转到“https://www.yigeni.cc”,当然其它站内url也都是https,这样就实现了全站https访问!

强制https访问解决方案

好了!下面开始修改网站根目录下的“.htaccess文件”(一般都有,如果没有就新建一个),强烈建议使用“Dreamweaver”打开进行编辑(Dreamweaver可以去此帖下载,点击打开),并且代码建议处于“.htaccess文件”的最前面,代码如下:

RewriteEngine on
rewritecond %{http_host} ^yigeni.cc [nc]
rewriterule ^(.*)$ http://www.yigeni.cc/$1 [r=301,nc]

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

上面第一段代码是:将所有“非www”重定向到“www”。
上面第二段代码是:检查是否https,如果不是,则强制https访问。
注:将上述代码中的“yigeni.com”替换成自己的域名即可!

强制https访问解决方案

最后,再补充一下,如果是多个域名,比如yigeni.com与yigeni.cc,那么可以这样写:

RewriteEngine on
rewritecond %{http_host} ^yigeni.cc [nc]
rewriterule ^(.*)$ http://www.yigeni.cc/$1 [r=301,nc]
rewritecond %{http_host} ^yigeni.com [nc]
rewriterule ^(.*)$ http://www.yigeni.com/$1 [r=301,nc]

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

安 眠药
安 眠药
分享/收集生活中的美,遇见世界上另外一个你!...
相关文章

2 意见

留下一个答复

请输入你的评论!
请在这里输入你的名字

- 小编推荐 -
iplc专线节点

最受欢迎

最近的评论

安 眠药浅谈机场节点事儿
一懒众衫小浅谈机场节点事儿
安 眠药浅谈机场节点事儿
一天不翻浑身不舒服IPLC专线到底与普通机场有啥区别