WordPress 更新(或更换)网站域名后,媒体库旧图片不显示 + 新图片无法上传 是非常常见的迁移/改域名后遗症,主要原因几乎都是数据库里的URL路径没有同步更新,导致WordPress找不到旧图,也可能因为混合内容或权限问题导致新图上传失败。
以下按优先级和成功率从高到低给你最实用的解决步骤:
第一步:先确认最核心的两处设置(最常被忽略)
- 登录 WordPress 后台 → 设置 → 常规
- 检查:
- WordPress 地址(URL)
- 站点地址(URL) 这两项必须完全一致,并且是新域名(带 https://www. 或不带 www,根据你实际使用的)。
- 保存更改(保存后可能会自动退出登录,再重新登录即可)。
很多时候光改这两项就能解决80%的“旧图不显示”问题。
第二步:批量替换数据库中所有旧域名(强烈推荐)
旧图片的路径(比如文章内容、特色图、Elementor/Gutenberg块里)都还存着旧域名,必须全部替换。
最安全简单的方法(推荐新手):
- 安装免费插件(任选其一,安装量高的都行):
- Better Search Replace(最推荐,界面友好)
- Search & Replace
- Velvet Blues Update URLs(老牌但很好用)
- WP Migrate DB(免费版也够用)
- 插件设置里:
- Search for(搜索):http://旧域名.com (或 https://旧域名.com)
- Replace with(替换为):https://新域名.com (一定要带协议 https:// 或 http://)
- 勾选所有表(尤其是 wp_posts、wp_postmeta、wp_options)
- Run as dry run / 预览 先看一下要改多少条,确认没问题再正式运行。
- 运行后清空浏览器缓存 + 网站缓存(如果有WP Rocket、LiteSpeed Cache 等插件也要清)。
如果不想装插件,用 phpMyAdmin 执行 SQL(更彻底但有风险,先备份数据库!):
UPDATE wp_options SET option_value = replace(option_value, 'http://旧域名.com', 'https://新域名.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://旧域名.com','https://新域名.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://旧域名.com', 'https://新域名.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://旧域名.com','https://新域名.com');
把 wp_ 改成你实际的表前缀。
第三步:如果新图片仍然无法上传(报错或卡住)
按这个顺序排查:
- 文件权限问题(最常见)
- 用 FTP 或主机文件管理器,检查 wp-content/uploads 文件夹权限
- 文件夹:755
- 文件:644
- 如果是 777 先改成 755(777不安全)
- 混合内容(http vs https)
- 后台已改成 https,但数据库还有很多 http → 强制 https 替换(上面插件方法再跑一次,把 http 换成 https)
- .htaccess 文件问题
- 备份后删除根目录的 .htaccess 文件
- 后台 → 设置 → 固定链接 → 不改任何东西直接“保存更改”(会自动生成新的)
- 内存/执行时间不足
- 在 wp-config.php 里加(文件最前面<?php下面):
PHP
define('WP_MEMORY_LIMIT', '256M');
- 在 wp-config.php 里加(文件最前面<?php下面):
- 插件/主题冲突
- 临时切换到默认主题(Twenty Twenty-Four 等)
- 全部禁用插件 → 只留必要的安全/缓存插件 → 测试上传 → 逐个开启找冲突插件
第四步:额外修复(如果上面都不行)
- 安装 Regenerate Thumbnails 插件 → 运行全部重新生成缩略图(旧图不显示但文件存在时很有效)
- 检查服务器有没有开启 mod_security 或防火墙规则阻挡了上传(问主机商)
- 如果用了 Cloudflare,确保 SSL/TLS → 加密模式 是 Full (strict) 并且开了 Always Use HTTPS
按顺序做完这几步,95%以上的改域名后媒体库问题都能解决。



苹果CMS V10版手动添加代码实现自动生成网站地图的方法
wordpress的HTML5播放器插件分享,自建插件,如有错误请评论区反馈。
网站404页面的设置与404页面3秒后跳回首页的设置技巧
WordPress的HTML5魔方幻灯片插件,免费幻灯片插件分享,自建插件,如果有什么BUG请在评论区反馈。
如何提高网站速度与抗攻击能力:wordpress、cloudflare、waf与memcached的完整教程
刚刚用ChatGPT-4O写了一个WordPress主题,你们来验证一下它的代码是否准确。
评论抢沙发