网站做了SSL认证后部分链接还是HTTP协议
博主最近一段时间给网站做了SSL认证采用了安全的HTTPS协议,但是在用站长工具检查死链的时候发现网站里面还有很多链接是HTTP开头的,博主开始以为是SSL认证没有做好,又重新设置了一遍,301重定向、强制HTTPS协议也做了,检测的时候还是有HTTP开头的链接。
根据网上的教程以及空间商的指导,该做的都做了,还是没有解决HTTP开头的问题,并且数据库中的HTTPS也没问题,没办法,只能采用强制刷新网页的方法再来试一下,最终的结果还是没能解决。
查看HTTP的返回状态也没问题,因为采用了301重定向的规则,HTTP开头的链接统一跳转至HTTPS协议。
在我一度想要放弃的时候,昨天再次通过死链检查工具进行检查,突然想起来我检查的时候是直接输入的网站主域名,那么就意味着系统检测是首页上面的所有链接,想到这里我直接打开网站首页
Ctrl+U调起网站源代码
Ctrl+F输入“http:”进行查找
果然在首页发现很多HTTP开头的链接。
<h1 class="logo"> <a href="http://www.jayseoer.com" rel="home"><img src="http://www.jayseoer.com/wp-content/uploads/2020/07/1.png" alt="王金亮博客"></a> </h1> </div> <div class="collapse navbar-collapse"> <nav class="navbar-left primary-menu"><ul id="menu-%e5%af%bc%e8%88%aa%e6%a0%8f" class="nav navbar-nav wpcom-adv-menu"><li class="menu-item active"><a href="http://www.jayseoer.com"><i class="fa fa-home"></i> 网站首页</a></li> <li class="menu-item"><a href="https://www.jayseoer.com/seo"><i class="fa fa-th-large"></i> SEO文章</a></li> <li class="menu-item"><a href="https://www.jayseoer.com/zimeiti"><i class="fa fa-book"></i> 自媒体</a></li> <li class="menu-item"><a href="https://www.jayseoer.com/news"><i class="fa fa-newspaper-o"></i> 站长新闻</a></li> <li class="menu-item"><a href="https://www.jayseoer.com/question-answer"><i class="fa fa-question-circle-o"></i> 问答社区</a></li> <li class="menu-item dropdown"><a href="https://www.jayseoer.com/theme-plugin" class="dropdown-toggle">主题&插件</a> <ul class="dropdown-menu menu-item-wrap menu-item-col-2"> <li class="menu-item"><a href="https://www.jayseoer.com/theme-plugin/theme">网站主题</a></li> <li class="menu-item"><a href="https://www.jayseoer.com/theme-plugin/plugin">主题插件</a></li> </ul> </li>
这些链接并不是系统生成的链接,而是我在主题中心设置的链接,因为最开始完善主题信息的没有做SSL认证,添加的一些链接都是HTTP开头的,直接输入HTTP开头的链接会强制跳转到HTTPS协议,但是链接显示的还是HTTP,虽然没什么影响,但是有强迫症的我还是喜欢统一的开头协议。
直接进入主题中心,把首页上手动设置的链接全部修改成了HTTPS协议开头,修改完成后再去通过死链检查的时候就没发现HTTP开头的链接了。
博主总结:遇到问题的时候不要它想的太复杂,往往最复杂的东西解决方法却是最简单的。
实现HTTP跳转HTTPS的方法
如果部署了SSL认证后发现HTTPS协议没有生效可以参考以下一种方法来调整一下:
HTTP 301重定向到HTTPS
在开启SSL部署后都会有一个“ HTTP
跳转 HTTPS
跳转代码”,简单来说就是一个301重定向规则,把这个规则写进网站根目录下的.httaccess文件里面,在通过HTTP状态码分析状态码是否正常。
JS强制HTTP跳转至HTTPS
将以下代码插入网站的Head文件中,一般在</head>
标签前面。
<script type="text/javascript"> var targetProtocol = "https:"; if (window.location.protocol != targetProtocol) window.location.href = targetProtocol + window.location.href.substring(window.location.protocol.length); </script>
修改数据库HTTP原始链接
很多人在网站上线一段时间后才开始做SSL认证,这样就导致了数据库中的链接已经是之前是HTTP协议开头,在完成SSL部署后利用phpmyadmin或其他管理工具将数据库中” http
“替换为” https
“(修改前请务必备份好数据库)。
强制刷新网页缓存
强制刷新网页是针对本地浏览器缓存未清理的一种做法,使用快捷键Ctrl+F5可以快速刷新网页缓存,从数据库中获取最新的数据信息。
版权声明:若无特殊注明,本站文章皆为王金亮博客原创,转载请保留文章出处。