You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Pages博客文章URL返回404错误,寻求技术帮助

嘿,我遇到过几乎一模一样的问题,给你几个最可能的排查方向,应该能解决这个404:

1. 检查_config.yml的关键配置(最常见原因)

Jekyll生成URL全靠这个配置文件,你得确保仓库根目录有_config.yml,并且包含以下核心设置:

baseurl: "" # 注意:如果是你的个人主页仓库(s-bhatt.github.io),这里必须留空
url: "http://s-bhatt.github.io" # 填写你的完整站点URL
permalink: /:year/:month/:day/:title/ # 这一行决定了文章的URL格式,必须和你期望的一致!

要是没加permalink这行,Jekyll默认的URL格式是/categories/year/month/day/title.html,自然匹配不上你要的地址。

2. 确认仓库命名是否合规

GitHub Pages的个人主页仓库必须严格命名为username.github.io(也就是你的s-bhatt.github.io),如果名字写错了(比如多了个后缀、拼写错误),整个站点的解析都会出问题,直接导致所有页面404。

3. 排查构建状态与缓存问题

  • 先去仓库的「Settings」→「Pages」页面看看最新的构建状态:如果显示“Failed”,页面会给出具体的错误提示(比如配置文件语法错了、布局缺失);如果是“Success”,可能是GitHub的缓存延迟,等个10-15分钟再试试。
  • 建议本地用Jekyll预览验证:安装Jekyll后,在仓库根目录运行bundle exec jekyll serve,然后访问http://localhost:4000/2017/12/25/shivang-bhatt-site-launched。如果本地能正常打开,那就是GitHub那边的问题,你可以提交一个空commit手动触发重构:
    git commit --allow-empty -m "Trigger GitHub Pages rebuild"
    git push
    

4. 核对博客文件的命名细节

你的文件名2017-12-25-shivang-bhatt-site-launched.md看起来符合规范,但再确认几点:

  • 日期部分是有效的(2017-12-25没问题,别出现2017-13-25这种无效日期)
  • 文件名里只有连字符-分隔,没有空格、下划线或者特殊字符
  • 文件确实放在仓库根目录的_posts文件夹里,不是子目录下的_posts

5. 检查default.html布局是否存在

你的post.html继承了default布局,但如果_layouts目录下没有default.html,Jekyll构建会失败,导致文章页面无法生成。default.html至少要有基础的HTML结构,比如:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>{{ site.title | default: page.title }}</title>
</head>
<body>
  {{ content }}
</body>
</html>

按上面的步骤逐一排查,应该能找到问题所在!

内容的提问来源于stack exchange,提问作者bhatt_bapu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:36:11