当前位置: 首页 > news >正文

解决Vue应用中遇到路由刷新后出现 404 错误

解释:

Vue 应用中遇到路由刷新后出现 404 错误,通常是因为 Vue 应用是个单页应用(SPA),它通过 Vue Router 管理路由,通过 HTML5 History Mode 实现页面导航无需重新加载页面。当直接访问非首页的路由或者刷新页面时,服务器会尝试寻找对应的真实物理路径,找不到就会返回 404 错误。

解决方法:

  1. 服务器配置:需要配置服务器,使其可以正确处理所有路由请求,并返回同一个index.html页面。

对于不同的服务器,配置方法如下:

  • 对于 Apache: 在服务器的配置文件(通常是.htaccess文件)中添加以下规则:

  • <IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.html$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.html [L]
    </IfModule>

    对于 Nginx: 在 Nginx 配置文件中添加如下配置:

  • location / {try_files $uri $uri/ /index.html;
    }

    对于 Node.js: 如果你使用的是 Node.js 的 Express 服务器,可以添加以下路由来捕获所有路由请求并返回index.html

    app.get('*', (req, res) => {res.sendFile(path.resolve(__dirname, 'public', 'index.html'));
    });

  • 使用 Hash Mode:另一种方法是使用 Vue Router 的 Hash Mode,它不需要服务器端的特别配置。在 Vue Router 中设置mode: 'hash'即可启用。

  • 例如,在 Vue 应用的入口文件main.js中配置 Vue Router:

  • import Vue from 'vue';
    import VueRouter from 'vue-router';
    import App from './App.vue';Vue.use(VueRouter);const router = new VueRouter({mode: 'hash', // 启用 hash moderoutes: [// 定义路由]
    });new Vue({router,render: h => h(App)
    }).$mount('#app');

    选择合适的方法进行配置,即可解决 Vue 应用在路由刷新时出现的 404 错误。


http://www.mrgr.cn/news/43444.html

相关文章:

  • 计算机网络——http和web
  • 在 MySQL 中处理和优化大型报告查询经验分享
  • 定义类方法的错误总结
  • 《CUDA编程》4.CUDA程序的错误检测
  • LeetCode hot100---二叉树专题(C++语言)
  • 十二、血条UI
  • 0-1背包问题
  • Windows 11 24H2 v26100.1742 官方简体中文版
  • 【图论】树剖(上):重链剖分
  • ChatGPT Canvas:交互式对话编辑器
  • Matlab编程示例24:freexyn在b站的读取手写体mnist数据集的matlab代码
  • [NeurIPS 2022] STaR: Bootstrapping Reasoning With Reasoning
  • 计算机视觉算法知识详解(含代码示例)
  • Koa2项目实战1(项目搭建)
  • 【Mybatis篇】Mybatis的关联映射详细代码带练 (多对多查询、Mybatis缓存机制)
  • C语言自定义类型联合和枚举(25)
  • Vue之父尤雨溪成立VoidZero公告,已获得 460 万美元种子轮融资
  • 【hot100-java】【将有序数组转换为二叉搜索树】
  • 事业群 BG、业务单元 BU 极简理解
  • 【C++ STL】手撕vector,深入理解vector的底层