重新加载发布到 Github 页面的 Vue 网站时出现 404

2023-12-23

我已经部署了我的内容/distmaster 分支中的文件夹christopherkade.github.io,它已经部署了我的website https://christopherkade.com/成功了。

但是当我使用导航栏导航时(christopherkade.com/posts or christopherkade.com/work)并重新加载页面,我在 Github 页面上收到错误:

404 找不到文件

请注意,我的路由是使用 Vue 路由器完成的,如下所示:

export default new Router({
  mode: 'history',
  routes: [    
    {
      path: '/',
      name: 'Home',
      component: Home
    },
    {
      path: '/work',
      name: 'Work',
      component: Work
    },
    {
      path: '/posts',
      name: 'Posts',
      component: Posts
    },
    { path: '*', component: Home }
  ]
})

我的项目是这样构建的:

build: {
    // Template for index.html
    index: path.resolve(__dirname, '../docs/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../docs'),
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',

    /**
     * Source Maps
     */

    productionSourceMap: true,
    // https://webpack.js.org/configuration/devtool/#production
    devtool: '#source-map',

    // Gzip off by default as many popular static hosts such as
    // Surge or Netlify already gzip all static assets for you.
    // Before setting to `true`, make sure to:
    // npm install --save-dev compression-webpack-plugin
    productionGzip: false,
    productionGzipExtensions: ['js', 'css'],

    // Run the build command with an extra argument to
    // View the bundle analyzer report after build finishes:
    // `npm run build --report`
    // Set to `true` or `false` to always turn it on or off
    bundleAnalyzerReport: process.env.npm_config_report
  }

什么可能导致此问题?


但是当我使用导航栏(christopherkade.com/posts 或 christopherkade.com/work) 并重新加载页面404 找不到文件

让我解释一下原因404 File not found正在展示

When christopherkade.com/posts由网络浏览器触发,即域所在的计算机christopherkade.com已映射已联系。

路径/posts在其服务器中搜索。就你而言,我相信路线/posts服务器中不存在。作为结果404 is displayed

有几种方法可以解决这个问题

防止浏览器在触发请求时联系服务器christopherkade.com/posts,你可以保留mode : 'hash'在你的路由配置中

How mode : 'hash' works? 这是解决您的问题的一种方法

mode : 'hash'使用默认浏览器行为,防止 http 请求触发之后存在的详细信息#

结果,当你触发christopherkade.com/#/posts , christopherkade.com由浏览器触发,一旦收到响应/posts路线从route config被调用。

假设您可以控制服务器并且您很坚定 你需要的#从 URL 中删除

那么您可以做的就是配置服务器,使服务器每次发送任何路径时都响应相同的页面。一旦浏览器收到响应,路由就会自动启动。

即使在当前的程序中,当您单击页面中的任何链接(例如工作、帖子)时,routeConfig 也会启动。这是因为此时尚未调用浏览器行为。

在您的情况下,您使用 github 来托管此应用程序mode: 'history'我自己必须寻找一个具体的解决方案来解决这个问题。一旦我得到它,我会更新我的答案。

我希望这有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重新加载发布到 Github 页面的 Vue 网站时出现 404 的相关文章

随机推荐

  • 如何使用 ASP.NET MVC + SignalR 强制服务器不断发送事件数据?

    ExportClient班级有OnTickRecieved事件 这可以帮助我接收一些数据 来自市场的出价 我想要的只是在浏览器中的图表上实时接收这些数据 当我按下GoUI 端的按钮 它调用Go 控制器中的方法 然后什么也没有发生 这是合乎逻
  • 棘手的指针问题

    我在过去的关于 c 中指针的考试问题上遇到了麻烦 这是我从这个链接找到的 http www cl cam ac uk teaching exams pastpapers y2007p3q4 pdf http www cl cam ac uk
  • Task.ContinueWith() 父任务不等待子任务完成[重复]

    这个问题在这里已经有答案了 自从我了解Task在嵌套任务的上下文中 我真的不明白 为什么在第二次打印之前进行第三次打印 尽管我已经用过Task WaitAll t 它打印3rd之前一行2nd line Code public static
  • 修改 LESS 变量的 alpha 不透明度

    使用 LESS 我知道我可以更改颜色变量的饱和度或色调 看起来像这样 background lighten blue 20 不过 我想改变颜色的 alpha 不透明度 最好是这样的 background alpha blue 20 有没有一
  • SQL:如何将视图与表连接?

    UPDATED 我正在使用 MySQL 语句创建视图 如果编辑寄出的图书超过 50 本书 我需要显示他们的名字 姓氏和城市 我的三张表是 create table editors ed id char 11 ed lname varchar
  • 禁用 VS Code 中的特定编译器警告

    我想知道如何抑制 VS Code 中的特定编译器警告对于整个项目 我见过这个问题 是否可以禁用特定的编译器警告 https stackoverflow com questions 22536518 is it possible to dis
  • 如何使用 CultureInfo 格式化已弃用的货币?

    在 dotnet 中 以特定于文化的方式格式化货币的推荐方法是 据我所知 using System Globalization var info CultureInfo GetCultureInfo en GB return string
  • 节点组的位置在 SCNNode.runAction 开始时重置

    我有一些代码 当点击屏幕时 它会围绕 x 轴旋转多个 SCNNode 如下所示 func handleTap gestureRecognize UIGestureRecognizer let sceneView self view as S
  • 光栅图像似乎使用 R 的传单进行了移动

    我想使用 R 中的 leaflet 包绘制一些空间数据 但是生成的光栅图像与参考网格相比似乎发生了偏移 我怀疑地图投影问题 但我不是该主题的专家 因此任何帮助将不胜感激 这是绘制地图的最小代码 library leaflet library
  • 如何删除临时消息

    我正在尝试找出一种机制 将临时消息发布给用户 然后将其删除并替换为所有人都可见的消息 与 giphy 类似的行为 其中 Slash 命令显示交互式临时消息 并在用户决定发送哪个 gif 后创建频道消息 我也对更新临时消息感到好奇 我认为如果
  • Bootstrap 5 带有 html 内容的弹出窗口

    我试图将 bootstrap5 弹出窗口内容与 HTML 属性分开 就像对其他组件所做的那样 但我无法让它工作 var popoverTriggerList slice call document querySelectorAll data
  • Java 将 XML 文档渲染为 PDF

    我有一个 XML 文档 当前存储为内存字符串 并且希望将其呈现为 PDF 换句话说 PDF 内容将是 XML 文档 该方法呈现的 XML 是通用的 可能会发送多种类型的 XML 文档 我在弄清楚如何使用各种基于 Java 的框架来完成任务时
  • iPhone 5s 扬声器模式下的 iOS 7 机器人/乱码

    我们有一个 VOIP 应用程序 可以录制和播放音频 因此 我们使用 PlayAndRecord kAudioSessionCategory PlayAndRecord 音频会话类别 到目前为止 我们已成功地将其用于运行 iOS 6 和 iO
  • IE8 和 VS2008:如何禁用脚本调试?

    IE8 已经出来了 显然 每当您在调试模式下启动项目时 它都会自动打开脚本 JavaScript 调试 有谁知道如何关闭此功能 我搜索了 IE8 VS2008 设置 但没有看到任何内容 Edit 您不能只进入 Internet 选项并禁用调
  • 使用 System.Runtime.Caching,但是当我去检索它时,它是空的?

    我有一个 C WPF 应用程序 我正在尝试使用新的 System Runtime Caching 来实现缓存 当我向缓存中添加某些内容时 我会检查它并确认它确实存在 但是 当我重新启动应用程序时 它就从缓存中消失了 因此 在下面的示例中 输
  • 使用 ASIHTTPRequest 从 iOS 上传图像

    我的应用程序在注册时上传图像和用户 电子邮件 通行证 iOS 到 php 到 mySQL 电子邮件 用户 密码和图像名称都可以很好地保存到数据库中 它只是未上传到服务器上的文件夹的图像 所以这只是我的代码的一部分失败了 但是有人能看到哪里吗
  • HTTP 补丁 XmlHttpRequest 支持

    我正在开发一些待办事项应用程序 并希望使用 HTTP 方法 PATCH 来添加和删除待办事项 因为这在语义上比 PUT 更好 在后端我使用express js node js 在前端backbone js 使用jQuery进行ajax 我已
  • 当书签拖到工具栏时如何设置网站图标/图标?

    我为自己制作了一个小书签 它的功能很好 但当添加到 Opera 或 Firefox 的工具栏时 它只是呈现浏览器的默认书签图标 分别为地球仪和星星 我的网站有一个网站图标 窗口 选项卡甚至 网站 书签都使用我指定的网站图标 只是不是我的书签
  • 将 git repo 中的所有文件转换为 LF 行结尾的最简单方法是什么

    所以我有一个旧的仓库 有很多文件 有些是 CRLF 有些是 LF 我想要 1 将所有文件更改为 LF 我使用 dos2unix 来转换我的文件 但 git commit 忽略这些更改 我还将 git config global core a
  • 重新加载发布到 Github 页面的 Vue 网站时出现 404

    我已经部署了我的内容 distmaster 分支中的文件夹christopherkade github io 它已经部署了我的website https christopherkade com 成功了 但是当我使用导航栏导航时 christ