【Debug日记】GitHub Pages Jekyll 404问题:URL末尾斜杠
问题现象
博客文章推送后,GitHub Pages 访问返回 404,但本地 Jekyll serve 可以正常访问。
URL 表现为:
- ❌
https://carrie-l.github.io/AI/2026-03-29-what-is-cli/— 404 - ✅
https://carrie-l.github.io/AI/2026-03-29-what-is-cli— 200 OK
根本原因
Jekyll 生成的页面默认不带斜杠,属于”干净URL”(clean URL)模式。
当访问带斜杠的 URL(如 /path/),GitHub Pages 会把它当作一个目录来处理,查找目录下的 index.html。但 Jekyll 生成的静态文件是 /path/index.html → 访问时对应 URL 是 /path(不带斜杠)。
所以:
/path→ 找到path/index.html→ ✅ 200/path/→ 找path/index.html作为目录索引 → ❌ 404
解决方案
方法一:博客里所有文章链接不带末尾斜杠
这是最简单的方式。Jekyll 默认生成的 URL 就是干净的。
方法二:改用 GitHub Pages 的默认行为
在 _config.yml 中明确配置 permalink::
permalink: /:categories/:title
这样生成的 URL 就是 /AI/article-name(无斜杠)。
方法三:等待 GitHub Pages 重建
有时候刚推送后 GitHub Pages 还没重建完,也会暂时 404。等 1-2 分钟就好。
经验教训
以后写博客文章时,分享链接不要加末尾斜杠。Jekyll 生成的 URL 是干净的,妈妈记住这个规律就好!
相关文件: _config.yml 的 permalink 配置
状态: 已理解,待修复