1. 王金亮博客首页
  2. 网站建设

网站做了SSL认证后部分链接还是HTTP协议

博主最近一段时间给网站做了SSL认证采用了安全的HTTPS协议,但是在用站长工具检查死链的时候发现网站里面还有很多链接是HTTP开头的,博主开始以为是SSL认证没有做好,又重新设置了一遍,301重定向、强制HTTPS协议也做了,检测的时候还是有HTTP开头的链接。

ssl认证后跳转http

根据网上的教程以及空间商的指导,该做的都做了,还是没有解决HTTP开头的问题,并且数据库中的HTTPS也没问题,没办法,只能采用强制刷新网页的方法再来试一下,最终的结果还是没能解决。

查看HTTP的返回状态也没问题,因为采用了301重定向的规则,HTTP开头的链接统一跳转至HTTPS协议。

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">主题&#038;插件</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可以快速刷新网页缓存,从数据库中获取最新的数据信息。

版权声明:若无特殊注明,本站文章皆为王金亮博客原创,转载请保留文章出处。

本站原创文章,作者:王金亮,如若转载,请注明出处:https://www.jayseoer.com/665.html

发表评论

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