美文网首页工作生活
vue路由模式为history时刷新返回404的原因及nginx

vue路由模式为history时刷新返回404的原因及nginx

作者: Tme_2439 | 来源:发表于2019-07-03 17:13 被阅读0次

原因:

hash模式的项目前进后台刷新都不会有问题,因为向服务器请求地址时是不带hash值的。

history模式的项目中url地址是通过h5的history API设置的,当浏览项目的二级页面的时候,浏览器并没有发送请求,但是浏览器会保存在历史纪录中,因此实现前进后退是没有任何问题的,但是它怕刷新。因为刷新是实实在在的向后端服务器发送这个url的请求的,but后台并不存这一个目录,所以返回404。

解决:

通过简单配置nginx即可解决404的问题

 # 解决vue路由模式为history时刷新返回404的问题
        location / {
                root /usr/share/nginx/html;
                index /index.html;
                try_files $uri $uri/ /index.html; // 找不到文件则尝试直接返回index.html,而vue路由会监控地址栏的俩变化,因此还是在当前页刷新的效果
        }

相关文章

网友评论

    本文标题:vue路由模式为history时刷新返回404的原因及nginx

    本文链接:https://www.haomeiwen.com/subject/wvschctx.html