GitHub Pages嵌入PDF报404错误,求解决方案
解决GitHub Pages嵌入PDF出现404的问题
问题根源
- GitHub Pages基于Jekyll构建,
_posts目录仅用于存放Markdown文章,非Markdown文件(如PDF)不会被部署到生成的静态站点中,直接引用该目录下的PDF必然返回404。 - GitHub仓库的
blob链接是网页预览链接,并非直接的文件资源链接,用它嵌入会返回HTML页面而非PDF文件。
具体解决步骤
1. 迁移PDF文件位置
在仓库根目录新建专门的资源目录(比如assets/pdf或files),将PDF文件上传到这个目录,不要放在_posts下。
2. 使用正确的嵌入路径
根据你的页面URL(https://gyulab.github.io/projects/2021/10/15/ms482_midterm.html),推荐两种可靠的路径写法:
- 绝对路径(优先选择,避免层级混乱):
<embed src="/assets/pdf/MS482_Report_20180583_Gyujun Jeong.pdf" type="application/pdf" width="100%" height="600px" />
- 相对路径(需计算层级,从当前页面向上跳转4级到根目录):
<embed src="../../../../assets/pdf/MS482_Report_20180583_Gyujun Jeong.pdf" type="application/pdf" width="100%" height="600px" />
3. 提前验证文件可访问性
上传PDF后,先在浏览器直接访问PDF的Pages链接(比如https://gyulab.github.io/assets/pdf/MS482_Report_20180583_Gyujun Jeong.pdf),确认能正常打开后再嵌入页面。
额外优化建议
- 文件名尽量避免空格,可改为
MS482_Report_20180583_Gyujun_Jeong.pdf,防止URL编码问题导致访问失败。 - 若需用GitHub仓库链接,需将
blob替换为raw(如https://github.com/gyulab/gyulab.github.io/raw/master/assets/pdf/xxx.pdf),但优先使用Pages域名链接更稳定。
内容的提问来源于stack exchange,提问作者Gyujun Jeong
相关产品推荐
相关产品推荐

