解决vue router使用 history 模式刷新后404问题


Posted in Javascript onJuly 19, 2017

因为我们的应用是单页客户端应用,当使用 history 模式时,URL 就像正常的 url,可以直接访问http://www.xxx.com/user/id,但是因为vue-router设置的路径不是真实存在的路径,所以刷新就会返回404错误。

想要history模式正常访问,还需要后台配置支持。要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。

也就是在服务端修改404错误页面的配置路径,让其指向到index.html。

警告:

因为这么做以后,你的服务器就不再返回 404 错误页面,因为对于所有路径都会返回 index.html 文件。为了避免这种情况,你应该在 Vue 应用里面覆盖所有的路由情况,然后在给出一个 404 页面。

const router = new VueRouter({
 mode: 'history',
 routes: [
 { path: '*', component: NotFoundComponent }
 ]
})

如此便解决了页面刷新后404问题。

问题延伸:

但是后面又发现,在IE浏览器下刷新仍然还是404,在网上找了一下原因,是因为IE自作聪明,对错误页面的处理在ie来看页面大小<1024b 会被认为十分不友好,所以ie就将改页面给替换成自己的错误提示页面了,而我的index.html刚好只有一个DIV:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vue-mdm</title>
</head>
<body>
<div id="app"></div>
</div>
</body>
</html>

解决办法就是充实一下页面,让大小超过1024即可。

总结

以上所述是小编给大家介绍的解决vue router使用 history 模式刷新后404问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
XRegExp 0.2: Now With Named Capture
Nov 30 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
Jun 24 Javascript
Javascript 实现的数独解题算法网页实例
Oct 15 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
Aug 11 Javascript
前端设计师们最常用的JS代码汇总
Sep 25 Javascript
vue2中filter()的实现代码
Jul 09 Javascript
js如何编写简单的ajax方法库
Aug 02 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
Mar 17 Javascript
Vue使用Three.js加载glTF模型的方法详解
Jun 14 Javascript
Vue.js中Line第三方登录api的实现代码
Jun 29 Javascript
Vue实现图书管理小案例
Dec 03 Vue.js
原生JS实现分页
Apr 19 Javascript
深入理解vue Render函数
Jul 19 #Javascript
Vue AST源码解析第一篇
Jul 19 #Javascript
Vue之Watcher源码解析(1)
Jul 19 #Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
Jul 19 #Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 #Javascript
vue中的非父子间的通讯问题简单的实例代码
Jul 19 #Javascript
Vue之Watcher源码解析(2)
Jul 19 #Javascript
You might like
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
php网上商城购物车设计代码分享
2012/02/15 PHP
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
yii添删改查实例
2015/11/16 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
jQuery 树形结构的选择器
2010/02/15 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
2016/05/17 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
2017/06/09 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
Python列表(List)知识点总结
2019/02/18 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
教师节班会主持词
2015/07/06 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
安全生产学习心得体会
2016/01/18 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python
python实现MD5进行文件去重的示例代码
2021/07/09 Python