当 WordPress 后台可以登录,但点击任何管理菜单都返回 404 错误时,通常是由于插件冲突或服务器配置问题导致的。以下是详细的排查与解决方法。
情况一:插件冲突导致后台 404
这是最常见的原因。某个插件可能因版本过旧、代码错误或与当前 WordPress 核心/其他插件不兼容,导致后台路由被破坏。
解决方法(通过重命名插件目录)
此方法通过暂时禁用所有插件来确认问题。
- 通过 SSH 或 FTP 连接到您的服务器,进入网站根目录下的
wp-content文件夹。 - 找到
plugins文件夹,将其重命名为plugins_deactivated(或其他任意名称)。 - 重新登录 WordPress 后台。此时所有插件已被禁用,您应能正常访问后台各个页面。
- 再次通过 SSH/FTP,将刚才重命名的文件夹(如
plugins_deactivated)改回原来的名字plugins。 - 进入后台的「插件」管理页面,您会看到所有插件处于未启用状态。逐一重新启用插件,并测试后台功能。当启用某个插件后 404 错误再次出现,即可确定是该插件的问题。请卸载或更新该冲突插件。
提示:在操作前,建议先开启 WordPress 调试模式以获取更详细的错误信息。编辑
wp-config.php文件,将define('WP_DEBUG', false);改为define('WP_DEBUG', true);。如果是虚拟主机用户,请使用 FTP 下载该文件到本地编辑后再上传。
情况二:Nginx 服务器配置问题
如果您的 WordPress 运行在 Nginx 服务器上,后台 404 错误可能是由于 URL 重写规则不完整,导致访问 /wp-admin(缺少末尾斜杠)时无法正确路由。
解决方法一:修改 Nginx 站点配置文件
这是推荐的根本解决方法。编辑您的 Nginx 站点配置文件(例如 /etc/nginx/sites-available/your-site),在处理 WordPress 的 location 块中,确保包含以下规则:
location / {
try_files $uri $uri/ /index.php?$args;
}
# 专门为 wp-admin 添加重写规则
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
添加后,执行 sudo nginx -t 测试配置,无误后执行 sudo systemctl reload nginx 重启 Nginx。
解决方法二:使用现有的 WordPress 配置片段
如果您使用的是 LNMP 一键安装包等环境,配置中可能已通过 include wordpress.conf; 引入了优化配置。请检查 wordpress.conf 文件,确保其中包含上述的重写规则。如果没有,请添加。
注意:网上有些过时的教程建议在
wp-config.php中添加 HTML 的<base>标签,这是错误且无效的,因为该文件是 PHP 脚本,不应包含原生 HTML 标签。请务必使用正确的服务器配置方法。
总结与预防
遇到后台 404,首先尝试禁用所有插件来排查。如果问题依旧,则检查服务器重写规则。定期更新 WordPress 核心、主题和插件至最新版本,并在更新前备份网站,是避免此类问题的最佳实践。