Vue路由hash改history模式刷新居然404?

问题描述

hash模式下所有的路由都会加“#”号,但是新的需求需要去改变请求地址,而hash模式下路由/请求路径都带有“#”号无法正常使用,第一步解决方案是将hash模式改为history,就可以拿到干净的路由随意更改。完成功能后发现刷新页面404,动态路由也是404?

原因分析

hash模式刷新不会把“#”后面的hash值包含在请求中,而history模式刷新后会发起一个实实在在的请求,当后端匹配不到请求地址中的那个接口,前端也找不到之前的静态资源(打包后的index.html文件),就是404

解决办法

1、项目使用nginx部署,作好配置,这个配置的文章很多写的很好

2、动态路由的404,为动态路由在后端写一个通用接口,HTTP刷新发起请求从后端返回一个静态资源,静态资源,内容就是index.html文件内容,不是"index.html",项目更新返回的静态资源也需要更新

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值