解决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 相关文章推荐
javascript dom追加内容实现示例
Sep 21 Javascript
javascript模拟订火车票和退票示例
Apr 24 Javascript
网页右侧悬浮滚动在线qq客服代码示例
Apr 28 Javascript
js实现iframe自动自适应高度的方法
Feb 17 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
Nov 25 Javascript
jQuery简单实现tab选项卡切换效果
Jun 20 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
Jan 18 Javascript
微信小程序通过api接口将json数据展现到小程序示例
Jan 20 Javascript
VUE中v-model和v-for指令详解
Jun 23 Javascript
webpack多入口多出口的实现方法
Aug 17 Javascript
浅谈VUE中演示v-for为什么要加key
Jan 16 Javascript
JS不要再到处使用绝对等于运算符了
Apr 30 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
拼音码表的生成
2006/10/09 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
php的socket编程详解
2016/11/20 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
Python书单 不将就
2017/07/11 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
巴西最大的在线约会网站:ParPerfeito
2018/07/11 全球购物
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
大学生求职简历的自我评价范文
2013/10/12 职场文书
一分钟演讲稿
2014/04/30 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
现场活动策划方案
2014/08/22 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书