解决Vue history模式下路由跳转时页面404问题
当你使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id,也好看!
不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。
所以呢,你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。
后端配置例子
注意:下列示例假设你在根目录服务这个应用。如果想部署到一个子目录,你需要使用 Vue CLI 的publicPath
选项 和相关的 router base
property。你还需要把下列示例中的根目录调整成为子目录 (例如用 RewriteBase /name-of-your-subfolder/
替换掉 RewriteBase /
)。
Apache
<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.html$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.html [L]
</IfModule>
nginx
location / {try_files $uri $uri/ /index.html;
}
原生 Node.js
const http = require('http')
const fs = require('fs')
const httpPort = 80http.createServer((req, res) => {fs.readFile('index.html', 'utf-8', (err, content) => {if (err) {console.log('We cannot open "index.html" file.')}res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'})res.end(content)})
}).listen(httpPort, () => {console.log('Server listening on: http://localhost:%s', httpPort)
})
解决Vue history模式下路由跳转时页面404问题相关推荐
- 解决Vue history模式下使用嵌套路由打包部署后刷新页面为空白页
解决Vue history模式下使用嵌套路由打包部署后刷新页面为空白页 前言 问题分析 问题解决 结语 前言 众所周知,Vue路由有两种模式,默认hash模式,这种模式下url上会带"#&q ...
- 解决 VUE history模式 后端配置 微信支付目录限制5个 等问题
前言 作为小公司的WEB开发组组长, 本身为全栈工程师, 主攻方向为PHP. 最近将项目由MVC模式改为了MVVM, 做为小公司的为了节省成本, 招聘了一个新手前端, 编写VUE 新手的技术,无奈并不 ...
- vue 刷新嵌套路由_vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法...
解决vue-router嵌套路由(子路由)在history模式下刷新无法渲染页面的问题,具体内容如下 一. 异常描述 本来使用的是vue-router的hash模式,但是hash模式下url需要带&q ...
- nginx导致vue设置history模式下的请求丢失参数
nginx导致vue设置history模式下的请求丢失参数 问题描述: 当访问下面的路径时参数会丢失: http://ip/vuecay/path1/path2?name=cay 演示效果: 可以看到 ...
- vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目
vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目 参考文章: (1)vue-cli3.x正确打包项目,解决静态资源与路由加载无 ...
- 【新闻系统-React】问题2 antd组件下 路由跳转
1.useHistory 1)SandBox组件 import { useHistory } from 'react-router-dom'const history=useHistory()< ...
- vue 项目 路由跳转时,ie报错 缺少')'
vue 项目 路由跳转时,ie报错 缺少')' 报错信息 解决办法 报错信息 vue项目中使用了vue-echarts,项目启动后,在chrome上路由跳转没问题,但是在ie的控制台报"缺少 ...
- Vue路由跳转时导航栏更新
Vue路由跳转时导航栏更新 问题描述 在调用函数中跳转路由,但是侧边栏没有更新激活的高亮状态 排查 查看路由跳转后,侧边栏中active_index的session储存正常 由于侧边栏由组件引入,所以 ...
- h5 uniapp history模式下刷新页面404
h5 uniapp history模式下刷新页面404 问题:uniapp 的history 把#去掉了,但是当刷新页面的时候出现404 解决方案 需要服务端支持 如果 URL 匹配不到任何静态资源, ...
- 解决Carla同步模式下Runtime Error的问题(tick hangs)
解决Carla同步模式下Runtime Error的问题(RuntimeError: time-out of 10000ms while waiting for the simulator, make ...
最新文章
- JavaScript基础知识(函数)
- 图形处理(三)简单拉普拉斯网格变形-Siggraph 2004
- git fetch和git pull的区别_Git实战(实验楼)学习笔记 实验2 基本用法(下)
- 用scikit-learn和pandas学习线性回归
- sqlserver数据库中清空日志文件
- Android开发之常用的自定义输入框之EditText
- SMB MS17-010 利用(CVE-2017-0144 )
- 远程主机访问mysql权限_如何给远程主机开启mysql远程登录权限
- 4章. 安装CentOS 5.x与多重引导小技巧
- jaxb java xml序列化_XML编程总结(六)——使用JAXB进行java对象和xml格式之间的相互转换...
- 检测到目标主机可能存在缓慢的http拒绝服务攻击_高防服务器能防住哪些攻击?“流量清洗”与它有什么关系?...
- Flutter布局锦囊---屏幕顶部提醒
- android源码已关联设备,获取android设备已安装应用信息
- VMware虚拟桌面,后台更改用户密码后,掉域的问题
- 每天写工作日志、周报你怎么看?
- 一个海量在线用户即时通讯系统(IM)的完整设计
- 钉钉考勤-获取需要记录考勤的人员
- 一箭穿心程序编码c语言,一个简单的一箭穿心程序
- 调研-python使用win32com模块操纵excel
- 按键按动次数计数c语言,二、Windows按键消息—重复计数、OEM扫描码、扩充键旗标、内容代...