vue路由history模式刷新404问题解决方案

在使用Vue的history模式时,刷新页面会导致404错误。为解决此问题,需要在服务器端配置,确保所有未匹配的URL请求都返回index.html。本文介绍了在Node.js+Express和Nginx中如何设置,强调查看官方文档的重要性。
摘要由CSDN通过智能技术生成

由于vue单页面的原因,需要借助路由来实现页面的切换,主要有两个方法,history, 和 hash。hash的话在URL上带有 ’#’ 的地址,处理起来比较坑,还有就是路由比较丑,最坑的是,做 微信和支付宝 的时候回调地址,不允许加 ?好,只能用rest 风格。

 

但是换成history模式,就会有个新的坑,就是当用户刷新页面就无法显示了(404)。对于这个问题,我们只需要在服务器配置如果URL匹配不到任何静态资源,就跳转到默认的index.html。

在网上搜了,一吨教程,都是无效的,我真的是醉了,最后只能去看官方文档了,

看官方文档真的很重要,看官方文档真的很重要,看官方文档真的很重要。

先说一下原因:

你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。

反正官网说了挺多中后台的配置的,其他的我都没有用过,我就说两种我用过的:

第一种是nodeJS + express:

Usage

中间件可以通过NPM获得,并且可以很容易地添加。

npm install --save connect-history-api-fallback

引入:

const history = req

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值