最近遇到一个问题:https的跳转总是重定向到http中

请求时写的是https

结果返回的是  http  

很奇怪,自己没有写重定向,而且同样的代码,发布在http中就可以用





通过一遍遍的摸查,才发现了一个秘密 ——    浏览器重定向

==================================

当我们发布网站时,若是主站下面的默认首页(通常为index.html)不是

在网站根目录下时,就像如下的情况




网站以WebSite为根目录,然后index的文件分别在ROX目录和TL目录里,

然后发布地址是localhost:8082(以http协议)

这个时候访问localhost:8082,得到的是个目录文件




若我们想访问ROX里的index.html ,

一般直接在地址栏里加上 "/ROX" 

或者 使用js跳转语句  得到







BUT 

 


这时候看下NetWork会发现,在请求的资源前还有一个重定向!!







浏览器给请求地址多加了一个后缀 "/",

请求地址从 http://localhost:8082/ROX <http://localhost:8082/ROX> 

变为了 http://localhost:8082/ROX <http://localhost:8082/ROX>/

这是http协议下的看不出什么影响,如果是https那?




可以看到 在请求地址不加 访问具体页面路径的情况下

浏览器想帮助你访问默认首页,自动帮你加了"/"

但是 重定向为 http,这就出现了文章开头 访问不到的情况




而如果我们自己手动加上

是可以访问页面资源的

==================================

总结

何时可以忽略这种情况?

1.网站发布的方式为http协议

2.网站的默认首页就在网站发布的根目录下




否则就在我们跳转首页的地址上加上 "/"吧

location.href="xxx/"



友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信