【vue】vue路由history模式下刷新页面404

原因:

vue的路由是由js来控制的,但是,当你刷新浏览器的时候,是向服务器发送请求的一个过程,当访问不到的时候必然会返回404。

解决办法:

  • 后台配合:将请求同意指向一个有效地址。
    比如,你的首页请求地址为 www.aaa.com/go.html ,但是路由变为www.aaa.com/main,这时候你可以与后端人员商量,将 www.aaa.com/... 统统指向 www.aaa.com/go.html ,这样就解决了404问题。
  • 仿真路由:路由后带.html后缀
    我遇到一个问题,就是页面初次加载时是携带参数的, www.aaa.com/go.html?p=123 ,根据参数p决定是跳转路由A还是路由B,加入跳转到了路由A,也就是 www.aaa.com/routerA ,这时候刷新,就会出现404问题,这时候后端人员是解决不了的,因为还需要携带参数。
    我的解决办法是:
    1. 先将路由仿真:也就是将 /routerA 变为 /routerA.html ,并在跳转时携带参数,this.$router.push({path: /routerA.html${this.$router.query.p}}),所以刷新时,会向服务端请求 routerA.html ,并且携带参数p;
    2. 这时在 www.aaa.com 下真的存放一个 routerA.html ,在文件里面获取参数p,然后跳转 window.location.href='www.aaa.com/go.html?p=123'

个人博客:午后南杂

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容