近期远策科技团队收到一些站长朋友的求助,网站使用阿里云虚拟主机,申请SSL证书升级HTTPS后,去百度搜索资源平台做HTTPS认证,总是验证失败,失败提示:
您的站点有链接未通过https检验。根据提示发现有部分HTTP的链接,访问不自动跳转到HTTPS。
细心的朋友发现,在提交HTTPS认证时,百度会提示大家:在保证原有http站点正常访问的基础上,新建https站点(
必须全站点https),并且
将http的url 301到https的url上,请保证您的https站点可访问。
通过百度的提示,很多站长朋友一是检查了自己的站点是否调用了HTTP资源,然后又去阿里云虚拟主机后台准备做301重定向,但是发现只能是操作域名与域名之间重定向。 又在阿里云上提交了工单咨询,得到的回复是:云虚拟主机301重定向功能目前只支持已经绑定的域名里的某个域名重定向到已经绑定的域名内的另外一个域名。
301重定向不支持http重定向到https,您可以通过虚拟主机控制台→域名绑定下启用强制https加密访问。
但是很多站长朋友反映,云主机管理后台已经开启了
强制HTTPS加密访问功能了,但是还是无法通过HTTPS认证。一直找不到解决的办法,很是郁闷。
经过测试,远策科技对于使用阿里云虚拟主机的朋友,找到了HTTPS验证失败的方法,方法是通过.htaccess文件,设置301重定向,现分享出来希望能帮到大家。
将http的url 301到https的url上方法如下:
1.打开FTP链接你的虚拟主机,设置显示隐藏文件(不同软件位置不同,仔细找下)
2.进入站点根目录/htdocs/找到.htaccess下载下来进行编辑(如果没有的话可以在本地新建一个)
3.将以下代码写入文件中
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
4.将文件上传到站点根目录,上传后看下文件是否是.htaccess。
最后,在浏览器访问测试一下HTTPS的站点首页、栏目及内容也,看能否跳转。另外检查一下HTTP看下返回的是不是301状态码。确认无误后,重新在百度搜索资源平台提交HTTPS认证即可。