vue开发,在子路由里的时候刷新页面,页面就找不到了

当我正常进入的时候输入http://dev.com 是可以进去的。

当我进入子路由之后一切正常,但是如果再刷新一次的话 就找不到页面了http://dev/dashboard

阅读 8.7k
2 个回答

很简单, SPA都是前端js控制的路由,也就是说你在浏览器没有加载js的时候直接输入这个带路由的url会被发送到服务器端,服务器又不认识这个路由,所以就出现404了。

一般的解决方案都是在服务器把找不到的路由指到index.html(vue页面)。这样在vue-router初始化好之后就会跳到相应的路由页面。

这个带来的问题就是404页面不会出现了,所以可能要在前端处理好404.

官方文档:
https://router.vuejs.org/zh-cn/essentials/history-mode.html

建议: 如果允许,在路由上加一个标识。比如http://dev.busys.1shen7.com/vue是当前的页面,所以的vue-router路由都跟在/vue/后面,这样在服务器端只要匹配/vue开头的就指向index.html

推荐问题