Skip to main content
Benny的泥坑 Logo
Overview

WordPress 迁移后首页和后台正常其他页面 404 的解决方案

December 30, 2025
1 min read

前几天在帮老婆的外贸网站迁移服务,这个网站已经运营很久了,而且还是用的wordpress搭建的。似乎跟现代的技术有点格格不入。但是,老婆的想法是懒得去改了,可以换个好点的服务器。

于是乎,就有来接下来的事情了。WordPress 网站迁移后遇到首页和后台能正常访问,但其他页面全部返回 404 错误,这是一个非常常见的问题。

这种情况通常是由固定链接(Permalinks)设置失效引起的。

下面我按照排查顺序,分享完整的解决思路。

第一步:重置固定链接

这是最简单也是最常用的解决方案,往往就能直接解决问题。

  1. 登录 WordPress 后台
  2. 进入「设置 → 固定链接」
  3. 不用做任何修改,直接点击最下方的「保存更改」按钮

这一步会自动重写网站的 .htaccess(Apache)或 nginx.conf 规则,从而刷新伪静态规则。

第二步:检查服务器配置

根据你的服务器环境,需要检查不同的配置。这个外贸网站用的是nginx服务器,但是apache的配置这里也一起给下。

Apache 服务器

确保网站根目录下存在 .htaccess 文件,并且内容正确:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

同时确保:

  • Apache 已启用 mod_rewrite 模块
  • 该站点的 AllowOverride 指令设置为 All,这样 .htaccess 文件才能生效

Nginx 服务器

Nginx 不支持 .htaccess,规则需要写在服务器配置文件中。打开你的站点 Nginx 配置文件(如 /etc/nginx/sites-available/your-site),在 server 块内确保包含以下核心规则:

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

保存后执行 sudo nginx -t 测试配置,确认无误后 sudo systemctl reload nginx 重启 Nginx。

第三步:检查 WordPress 站点地址设置

进入后台「设置 → 常规」,确认「WordPress 地址」和「站点地址」是否正确。这两个地址应该是你的新域名或新服务器 IP 地址,不能是旧的地址。

如果因为 404 无法进入后台修改,也可以通过数据库修改:

  1. 进入 wp_options
  2. 找到 siteurlhome 这两条记录
  3. 将其 option_value 更新为你的新网站地址

第四步:检查文件权限

确保网站根目录的文件权限正确,特别是 index.php.htaccess

Terminal window
chmod 644 .htaccess
chmod 644 index.php
chmod 755 wp-content

第五步:禁用插件排查

有时插件冲突也会导致此问题,尤其是缓存或重定向插件。

  1. 通过 FTP/文件管理器,将 wp-content/plugins 文件夹临时重命名为 plugins-old
  2. 此时所有插件被禁用,访问前台页面看是否正常
  3. 如果正常,再将文件夹名改回,并逐一启用插件以找出问题所在

第六步:数据库中的旧 URL 替换

如果迁移后域名或完整路径发生了变化,而数据库中某些内容还残留旧地址,也可能引发问题。

可以使用「Better Search Replace」插件,或直接在数据库执行 SQL 命令(务必先备份!),将旧的 URL 替换为新的。通常需要替换的旧 URL 格式为 http://old-domain.com,新 URL 为 https://new-domain.com

解决方案优先级排序

  1. 重置固定链接(最常用,成功率最高)
  2. 检查服务器配置(尤其是 Nginx 用户)
  3. 检查站点地址设置

按照以上步骤排查,99% 的迁移后 404 问题都能得到解决。基本基本上到第二步就基本上解决问题了。