解决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 instanceof,typeof的区别
Mar 24 Javascript
JQuery循环滚动图片代码
Dec 08 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
Aug 02 Javascript
JavaScript按位运算符的应用简析
Feb 04 Javascript
jquery form 加载数据示例
Apr 21 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
总结Node.js中的一些错误类型
Aug 15 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
微信小程序上传图片到服务器实例代码
Nov 07 Javascript
jQuery实现点击图标div循环放大缩小功能
Sep 30 jQuery
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
Apr 12 Javascript
uin-app+mockjs实现本地数据模拟
Aug 26 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
帅气的琦玉老师
2020/03/02 日漫
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
Python语言的12个基础知识点小结
2014/07/10 Python
Python输出带颜色的字符串实例
2017/10/10 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
pytorch 常用线性函数详解
2020/01/15 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
行政部主管岗位职责
2013/12/28 职场文书
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
基层党员群众路线教育实践活动个人对照检查材料思想汇报
2014/10/05 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers