GitHub Actions部署成功但GitHub Pages仍显示404错误求助
解决GitHub Actions部署后GitHub Pages显示404的问题
针对你遇到的GitHub Actions执行成功但站点返回404、Pages设置未显示预期URL的情况,可按以下步骤排查修复:
1. 确认GitHub Actions工作流的部署路径配置
检查你的工作流文件(通常是.github/workflows/deploy.yml),确保Vite打包产物的根目录直接上传到gh-pages分支的根目录:
- Vite项目打包后产物默认在
dist文件夹,因此工作流中actions/upload-pages-artifact的path必须设为dist,示例配置:
若误将整个项目根目录或- name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./dist/dist文件夹本身作为上传路径,会导致gh-pages分支的根目录嵌套了dist文件夹,而非直接包含index.html,从而触发404。
2. 检查GitHub Pages的部署记录与状态
进入仓库Settings > Pages页面,查看最近的部署记录:
- 若没有任何部署记录,说明工作流中
deploy-pages步骤未正确触发,需确认工作流包含以下关键步骤:- name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 - 若部署记录显示失败,查看失败详情(如权限异常、产物路径错误),根据提示调整配置。
3. 验证gh-pages分支的内容结构
再次确认gh-pages分支的根目录下直接存在index.html,且assets文件夹与它同级:
- 打开仓库的
gh-pages分支页面,检查文件结构:根目录必须直接显示index.html,而非嵌套在dist或其他子文件夹中。若结构不符,调整工作流的上传路径。
4. 强制刷新部署流程
尝试重新触发GitHub Actions部署,强制刷新Pages的状态:
- 手动运行工作流(在仓库
Actions页面选择对应工作流,点击Run workflow); - 或提交一个空Git commit:
git commit --allow-empty -m "Trigger redeploy",推送后触发自动部署。
5. 验证Vite打包后的资源路径
虽然你已设置base: '/job-listings/',仍需确认打包后的index.html中资源引用路径正确:
- 打开
gh-pages分支的index.html,检查<link>和<script>标签的href/src属性,确认格式为/job-listings/assets/xxx,而非相对路径或错误的根路径。
内容的提问来源于stack exchange,提问作者jbyrd
相关产品推荐
相关产品推荐

