自学内容网 自学内容网

vue线上项目页面刷新找不到页面报404问题

问题出现的原因:前端使用history路由模式,后端使用 Apache 或 Nginx 服务器,history模式下,前端的 URL 必须和实际向后端发起请求的 URL 一致,后端缺少对路由的处理,将返回 404 错误。

1.前端解决:

history路由模式改为hash模式,原理:

1.history模式,丢掉了丑陋的#,但是它也有个毛病:不怕前进,不怕后退,就怕刷新,f5,
(如果后端没有准备的话),因为刷新是实实在在地去请求服务器

2.hash模式,前端路由修改的是#中的信息,而浏览器请求时是不带它的,所以没有问题

 

history: createWebHistory(import.meta.env.BASE_URL), // history

history: createWebHashHistory(import.meta.env.BASE_URL),// hash

2.后端解决:

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


原文地址:https://blog.csdn.net/weixin_70563937/article/details/144726830

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!