直接删除根目录下的.maintenance文件即可退出维护模式,因其存在会强制重定向所有请求至维护页面;该文件是wordpress更新失败后残留的隐藏临时文件,删除后需清除浏览器及服务器缓存并确认路径正确。
直接删掉 .maintenance 文件就行,90% 的情况一删即好。它不是数据库问题,也不是权限或配置错误,就是一个临时文件没被自动清理掉。
为什么删 .maintenance 就能退出维护模式?
WordPress 更新时会在网站根目录生成一个 .maintenance 文件,里面只有一行 PHP 代码(类似 <?php $upgrading = 1624567890; ?>)。只要这个文件存在,所有前台和后台请求都会被重定向到“正在执行例行维护”页面。更新失败、超时、断电或手动关浏览器,都可能导致它残留。
注意:.maintenance 是隐藏文件,FTP 工具默认不显示,需开启“显示隐藏文件”才看得见;SFTP 或 cPanel 文件管理器里也得手动勾选“显示隐藏文件”。
删了还是没反应?检查这三件事
- 浏览器缓存还在用旧响应:强制刷新(
Ctrl+Shift+R或Cmd+Shift+R),或换无痕窗口访问 -
.maintenance被写进了子目录:比如你装在/blog/下,就得去public_html/blog/删,不是public_html/ - 主机启用了服务器级缓存(如 LiteSpeed Cache、Varnish):删完文件后,清空服务器缓存,或临时禁用再试
找不到 .maintenance 文件怎么办?
别急着改代码,先确认它真不存在:
生产级WordPress REST API集成,用于管理文章、页面、媒体、WooCommerce产品、Elementor内容、SEO元数据、ACF及JetEngine字段
SSH 登录后运行:
ls -la /path/to/your/wordpress/root/ | grep maintenance(把
/path/to/your/wordpress/root/ 换成你的真实路径)
如果确实没有,但维护提示还在,大概率是以下两种情况之一:
- 插件或主题自己写了钩子拦截请求(常见于安全类插件),此时需通过 FTP 重命名
wp-content/plugins文件夹为plugins_old,强制禁用全部插件 - 某些主机(尤其 Windows IIS + Plesk)会把
.maintenance当作系统保留名拒绝创建/删除,可尝试上传一个空的.maintenance文件覆盖再删
真正卡住的点往往不在文件本身,而在缓存层级或第三方拦截逻辑——先绕过它们,再回头定位根源。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










