vue-cli 路由使用mode:"history"模式出错,请问是什么原因?

图片描述

项目是使用vue-cli生成的,在router文件夹下的index.js文件中使用的路由配置中使用的了history模式将#号隐藏掉

不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。

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

参阅文档知道启用history模式需要后台的配合,所以后台根据文档说明加入了nginx的相关设置

location / {
  try_files $uri $uri/ /index.html;
}

但是,路由在进入的时候依然出现了问题,首次进入正常,但是在路由页面进行刷新或者直接访问路由页面,则出现页面空白,这基本符合官方文档解释的404情况,但是我这里不知为何返回的确实服务端错误,并且,后台确实在Nginx配置中加入了官方文档中要求的那段支持代码,但是这段代码在这里并没有起作用,并且后台查看日志501错误是找不到这个路径的错误
图片描述
图片描述
图片描述

阅读 5.4k
5 个回答

应该是没有配置index吧。而且你这个应该是接口处理的

你是不是配置了代理

依然没有解决……

是不是请求方式不对

新手上路,请多包涵

请问你解决了吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题