GitHub Pages新插入图片无法加载(直接访问URL可显示)求助
解决Docusaurus加载GitHub新格式图片404的问题
问题原因
GitHub现在插入的图片链接是仓库专属的assets路径(如https://github.com/<用户名>/<仓库名>/assets/<用户ID>/<图片ID>),这类链接带有防盗链限制:当非GitHub域名的站点(比如你的Docusaurus站点)发起请求时,服务器会因为Referer不匹配返回404;但直接在浏览器打开时,请求环境符合GitHub的规则,所以能正常显示。
解决方法
1. 转换为全局图床链接
把新格式的图片链接修改为GitHub全局用户图床的格式,绕过仓库级别的防盗链:
- 原新链接:
https://github.com/KevinUK/OKZestDocs/assets/1001172/e984549c-b92c-4ef4-824f-25901486852f - 修改后:
https://user-images.githubusercontent.com/1001172/e984549c-b92c-4ef4-824f-25901486852f.png
(替换域名部分为user-images.githubusercontent.com,末尾添加图片格式后缀如.png)
2. 本地托管图片(推荐)
将图片下载到Docusaurus项目的static目录下(比如static/images/),然后用相对路径引用:

这种方式不依赖外部链接,加载速度更快,也不会受GitHub防盗链规则影响。
3. 禁用GitHub图片的防盗链(不推荐)
虽然可以通过修改Docusaurus的请求头添加GitHub相关的Referer,但配置复杂且可能违反GitHub的服务条款,不建议采用。
内容的提问来源于stack exchange,提问作者KevinUK
相关产品推荐
相关产品推荐

