【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
问题产生的原因可以参考:https://www.youyong.top/article/1158f8b6782fb
我记录下自己的解决方案,因为被劫持的地址有个显著的特点,只有Accept: text/html类型的请求才会被劫持,因为之前我们系统虽然用了angurlar.js单却没有使用任何打包工具打包前端应用,导致Accept: text/html请求很多。鉴于此特性,也自然而然的想到把前端打包成一个单页应用,然后使用gulpfile打包前端,发现除了首页还有些Accept: text/html。实际打包是没有问题的,搞了半天最后才定位到,因为我们系统为了避免浏览器缓存影响,使用了一下方式的Url路由配置,导致请求相关页面时还是会直接请求页面:Accept: text/html。
templateUrl: function () { // 使用参数返回,可以加时时间戳避免每次发版导致的缓存问题 return "baseinfo.html?" + Math.random() }
然后统一改为,问题解决,这样就只有首页html会被劫持,对用户感知无影响。如果要彻底解决域名劫持问题,就是把网站升级为HTTPS。
templateUrl: "baseinfo.html"
此文仅仅为了记录:templateUrl的坑,更多的域名劫持及gulpfile打包参考百度。
来源:oschina
链接:https://my.oschina.net/linjiaju/blog/3154036