const router = new Router({
base: '/highspeedmanagement/',
mode: 'history', //去掉url中的#
routes
});
路由修改history后生产环境中#没有了,但是页面刷新就404,正常点击页面流转正常,改如何解决。
百度了一些解决办法,改nginx的配置等,亲测无效。
const router = new Router({
base: '/highspeedmanagement/',
mode: 'history', //去掉url中的#
routes
});
路由修改history后生产环境中#没有了,但是页面刷新就404,正常点击页面流转正常,改如何解决。
百度了一些解决办法,改nginx的配置等,亲测无效。
15 回答8.4k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
首先,搜索解决方案,直接套用,“亲测无效”说明你没掌握到学习方法。
这里的原因是,现代浏览器都支持 pushState,可以改变 URL 的同时不请求服务器,所以你从首页进去,点击链接跳转正常。但是这些 URL,在服务器上并不存在真实的物理映射,所以你直接访问的时候,服务器会报 404 错误。
解决方案就是修改 nginx 的
try_files
配置,把 404 请求指向入口文件,大概是这样:(这会儿在外面,凭记忆写的)