You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移WP站点后新发布文章丢失且无法访问?技术求助

WordPress迁移至独立服务器后发布文章异常的排查方案

这种情况我之前帮朋友排查过好几次,确实大概率和权限相关,但也可能涉及固定链接配置或数据库同步问题,咱们一步步来定位解决:

1. 优先排查目录与文件权限

独立服务器的权限管控比虚拟主机严格得多,WordPress需要特定目录有写入权限才能正常发布文章:

  • 通过SSH登录服务器,执行以下命令检查关键目录权限:
    # 查看wp-content目录权限
    ls -ld wp-content
    # 查看uploads子目录权限(文章媒体、草稿/发布文件存在这里)
    ls -ld wp-content/uploads
    
    正常配置下,wp-content应为755权限,uploads子目录为775或755(核心是确保web服务器用户,比如www-data(Apache)或nginx(Nginx)拥有写入权限)。
  • 如果权限不符,执行命令修正:
    # 递归设置wp-content目录权限
    chmod -R 755 wp-content
    # 单独放宽uploads目录权限
    chmod -R 775 wp-content/uploads
    # 修正文件所有者(假设web用户是www-data)
    chown -R www-data:www-data wp-content
    

2. 验证数据库用户权限

迁移过程中容易忽略数据库用户的权限配置,导致WordPress无法将文章数据写入wp_posts表:

  • 登录数据库管理工具(如phpMyAdmin),找到WordPress对应的数据库,检查当前使用的DB用户是否拥有INSERT、UPDATE、DELETE权限。
  • 如果权限缺失,给该用户分配目标数据库的读写权限(避免直接给全局权限,保障安全性)。

3. 重置固定链接与重写规则

虚拟主机通常默认启用了URL重写,但独立服务器可能未配置,导致新文章的永久链接无法解析:

  • 登录WordPress后台,进入「设置」→「固定链接」,先切换为「朴素」格式保存,再切回你原本使用的格式(比如「文章名」)。这会自动重新生成.htaccess文件(Apache环境)。
  • 若使用Nginx服务器,需在站点配置文件中添加WordPress重写规则:
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
    添加后执行sudo systemctl restart nginx重启服务生效。

4. 检查数据库是否真的写入了文章

如果以上步骤都无效,直接验证数据是否写入数据库:

  • 进入数据库的wp_posts表(注意前缀可能不是wp_,以你的wp-config.php配置为准),用发布时得到的文章ID进行搜索。
    • 如果能找到记录:说明是前端读取异常,大概率是缓存或固定链接问题,回到步骤3排查。
    • 如果找不到记录:确认wp-config.php中的数据库连接信息(DB_NAME、DB_USER、DB_PASSWORD、DB_HOST)是否正确,尤其是独立服务器的DB_HOST可能是localhost或127.0.0.1,别和虚拟主机的配置混淆。

5. 排除缓存插件冲突

迁移后若未清空缓存或缓存插件未适配新服务器,可能导致文章列表无法刷新:

  • 暂时禁用所有缓存类插件,清空WordPress后台的缓存(如果有),再尝试发布文章测试。

另外还要注意:迁移时是否完整同步了wp_postmeta表?这个表存储文章的元数据,若同步不全也会导致文章无法正常显示。

内容的提问来源于stack exchange,提问作者InvalidSyntax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:00:54