今天我给我的一个新站申请了熊掌号,于是进入到站长平台想对我的网站的HTTPS进行一下认证,结果显示认证失败,由于我的域名是阿里云的,主机也是阿里云的;我的网站已经直接进行了证书的开启,但是网百度搜索资源平台做HTTPS认证,总是验证失败,失败提示:您的站点有链接未通过https检验。根据提示发现有部分HTTP的链接,访问不自动跳转到HTTPS。我当时就发现,在提交HTTPS认证时,百度会提示大家:在保证原有http站点正常访问的基础上,新建https站点(必须全站点https),并且将http的url 301到https的url上,请保证您的https站点可访问。我就有点纳闷了,明明我的所有内容都是可以加密访问的问什么就是不行呢。
按照百度的提示,我对网站进行了全面的检查,检查了自己的站点是否调用了HTTP资源,是否有友链不是Https的,有的我也给他删除了。然后又去阿里云虚拟主机后台准备做301重定向,但是发现只能是操作域名与域名之间重定向。 这个不能重定向的话,那就没办法了,只能去阿里云上提交了工单咨询。
他们回复说是:云虚拟主机301重定向功能目前只支持已经绑定的域名里的某个域名重定向到已经绑定的域名内的另外一个域名。301重定向不支持http重定向到https,您可以通过虚拟主机控制台→域名绑定下启用强制https加密访问。
但是我一看,云主机管理后台已经开启了强制HTTPS加密访问功能了,但是还是无法通过HTTPS认证。一直找不到解决的办法,特别的憋屈,不知道该怎么办。
接下来我只能是一个个的去测试,咨询了使用阿里云虚拟主机的朋友,最终找到了HTTPS验证失败的方法,方法是通过.htaccess文件,设置301重定向,如果你的问题和我的一样的话,可以参考下。
将http的url 301到https的url上方法如下:
1.打开FTP链接你的虚拟主机,设置显示隐藏文件(不同软件位置不同,仔细找下)
2.进入站点根目录/htdocs/找到.htaccess下载下来进行编辑(如果没有的话可以在本地新建一个)
3.将以下代码写入文件中
4.将文件上传到站点根目录,上传后看下文件是否是.htaccess。
最后,在浏览器访问测试一下HTTPS的站点首页、栏目及内容也,看能否跳转。另外检查一下HTTP看下返回的是不是301状态码。确认无误后,重新在百度搜索资源平台提交HTTPS认证即可。是不是很简单呢!
如果是遇到的其它问题大家可以去百度,里面解决的方法很多,我就不再给百度添堵了!!