WordPress的文章使用gitee作为图床,无法显示,解决方法
本文最后更新于45 天前,其中的信息可能已经过时,如有错误请发送邮件到3449421627@qq.com

一、验证 Gitee 图片的直接访问性

  1. 获取图片的完整 Gitee 原始 URL
    在 Markdown 中,图片链接应为以下格式(注意 raw 分支路径):markdown![描述](https://gitee.com/你的用户名/仓库名/raw/分支名/图片路径.jpg)
    • 错误示例​(非 raw 路径):https://gitee.com/user/repo/blob/master/images/pic.jpg
    • 正确示例​(raw 路径):https://gitee.com/user/repo/raw/master/images/pic.jpg
  2. 在浏览器中直接访问图片 URL
    • 如果返回 403 Forbidden → 触发 Gitee 防盗链机制
    • 如果返回 404 Not Found → 检查图片路径或仓库权限

二、绕过 Gitee 防盗链的解决方案

1. ​强制隐藏 Referer(推荐)​

在 WordPress 主题的 header.php 中添加以下标签,禁止发送来源页面的 Referer 信息:

html<meta name="referrer" content="no-referrer">

操作步骤

  • 进入 WordPress 后台 → ​外观​ → ​主题编辑器
  • 选择 header.php → 在 <head> 标签内插入上述代码 → 保存

2. ​通过 Nginx 反向代理转发图片(高级方案)​

将 Gitee 图片请求通过你的服务器代理,隐藏真实来源:

nginx# 在 Nginx 配置文件中添加
location /gitee-img/ {
  proxy_pass https://gitee.com/;
  proxy_set_header Referer "";
  proxy_set_header Host "gitee.com";
}

使用方法
将图片 URL 替换为代理路径(如原链接为 https://gitee.com/user/repo/raw/master/pic.jpg → 改为 https://你的域名/gitee-img/user/repo/raw/master/pic.jpg


三、检查 WordPress 前端配置

1. ​HTTPS 混合内容问题

如果 WordPress 启用了 HTTPS,但图片链接使用 HTTP,浏览器会阻止加载。
解决方法

  • 确保图片 URL 为 https:// 开头
  • 在 wp-config.php 中强制全站 HTTPS:phpdefine('FORCE_SSL_ADMIN', true); $_SERVER['HTTPS'] = 'on';

2. ​浏览器缓存干扰

即使服务器修复了问题,浏览器可能仍缓存了旧的错误响应。
解决方法

  • 按 Ctrl+Shift+R(Windows)或 Cmd+Shift+R(Mac)强制刷新页面
  • 使用无痕模式测试

四、验证 Gitee 仓库权限

  1. 确保仓库为公开(Public)​
    • 进入 Gitee 仓库 → ​管理​ → ​基本信息​ → 检查「是否开源」
  2. 检查图片文件的原始权限
    • 文件需在 raw 路径下可直接访问(如 https://gitee.com/user/repo/raw/master/pic.jpg

五、终极替代方案(若问题持续)

1. ​迁移至 GitHub + CDN 加速

GitHub 无防盗链限制,通过 jsDelivr CDN 加速:

markdown![图片](https://cdn.jsdelivr.net/gh/用户名/仓库名@分支/图片路径.jpg)

2. ​自建图床(推荐)​

使用轻量级工具如 ​PicList​ + ​阿里云 OSS,完全控制图片外链策略:

bash# 安装 PicList
docker run -d --name piclist -p 36677:36677 -v /path/to/config:/root/.piclist xxxxx/piclist

六、验证流程

  1. 在 Markdown 中确认图片 URL 正确​(包含 raw 分支路径)
  2. 在 WordPress 页面添加 no-referrer 元标签
  3. 通过浏览器开发者工具检查 Network 请求
    • 打开浏览器控制台(F12)→ Network → 查看图片请求的 ​Response Headers
    • 如果状态码为 403,表示防盗链生效 → 按方案二处理

总结

如果已确认图片 URL 正确且服务器通信正常,90% 以上的概率是 Gitee 的防盗链机制导致。优先通过 no-referrer 元标签或反向代理绕过限制。若需长期稳定使用,建议迁移至专业图床服务。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇