问题现象
某 WordPress 网站升级到最新版本后,后台出现样式异常:
- 后台页面布局错乱
- 按钮样式丢失
- 插件安装页面显示异常
- Gutenberg 编辑器部分界面无法正常加载
浏览器开发者工具显示多个 CSS 文件返回 404,例如:
/wp-includes/css/classic-themes.min.css
/wp-admin/css/common.min.css
奇怪的是:
- 网站前台访问正常
- WordPress 登录正常
- 插件功能基本正常
- 仅后台静态资源加载失败
初步排查
检查 WordPress 核心文件
首先确认报错的 CSS 文件是否真实存在。
检查后发现:
- CSS 文件存在
- 文件权限正常
- WordPress 核心文件完整
因此可以排除:
- WordPress 升级失败
- 文件丢失
- 权限错误
等常见问题。
测试资源访问状态
使用浏览器和命令行工具分别测试:
后台 CSS 文件
HTTP/1.1 404 Not Found
后台图片资源
HTTP/1.1 404 Not Found
登录页面
HTTP/1.1 200 OK
网站首页
HTTP/1.1 200 OK
从测试结果来看:
| 资源类型 | 状态 |
|---|---|
| PHP 文件 | 正常 |
| HTML 页面 | 正常 |
| CSS 文件 | 404 |
| 图片文件 | 404 |
问题似乎只影响静态资源。
排查方向转向服务器配置
由于:
- WordPress 文件完整
- PHP 正常运行
- 网站首页正常访问
因此开始检查 Web 服务器配置。
在站点配置中发现了一段防盗链规则:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !example.com [NC]
RewriteCond %{HTTP_REFERER} !www.example.com [NC]
RewriteRule .(jpg|jpeg|gif|png|js|css) /404.html [R=404,NC,L]
这段规则用于限制外部网站盗链资源。
表面看没有问题,但实际上隐藏着一个常见陷阱。
真正的原因
空 Referer 请求被误判
很多人认为浏览器请求资源时一定会携带 Referer。
实际上并非如此。
以下情况经常出现空 Referer:
- 浏览器预加载资源
- HTTP/2 请求
- 后台异步加载
- 插件管理页面
- 浏览器隐私策略
- 某些安全软件或扩展
例如:
GET /wp-includes/css/classic-themes.min.css
Referer:
当 Referer 为空时,上述规则会判断:
Referer 不是本站域名
↓
触发防盗链
↓
返回404
于是原本正常存在的 CSS 文件被服务器主动拦截。
为什么升级 WordPress 后才出现?
很多站长会误认为:
升级 WordPress 后后台样式异常,说明 WordPress 存在 Bug。
实际上并不是。
更准确地说:
WordPress 升级
↓
后台资源加载方式变化
↓
部分资源请求不再携带 Referer
↓
触发旧的防盗链规则
↓
返回404
换句话说:
WordPress 升级只是触发条件,而不是根本原因。
真正的问题是防盗链规则过于严格。
解决方案
方案一:关闭防盗链(推荐)
对于大多数企业官网来说:
- 图片价值有限
- 被盗链影响很小
- 防盗链收益不明显
因此直接关闭防盗链通常是最简单有效的方案。
关闭后:
- 后台 CSS 恢复正常
- 后台图片恢复正常
- 插件页面恢复正常
问题立即解决。
方案二:仅保护图片资源
如果确实需要防盗链,建议只针对图片文件。
例如:
RewriteEngine On
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|png|gif|webp|avif)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com [NC]
RewriteRule .* - [F,L]
这样:
✅ 图片受保护
同时:
✅ CSS 正常加载
✅ JS 正常加载
✅ WordPress 后台正常运行
不建议防盗链的文件类型
以下资源尽量不要加入防盗链规则:
css
js
svg
woff
woff2
ttf
eot
这些资源经常被:
- 后台页面
- 编辑器
- 插件
- 浏览器预加载机制
直接调用。
限制后容易产生各种莫名其妙的问题。
最终结果
关闭防盗链后再次测试:
HTTP/1.1 200 OK
Content-Type: text/css
所有后台样式恢复正常。
插件安装页面、编辑器以及后台菜单均恢复显示。
总结
如果你遇到以下问题:
- WordPress 后台 CSS 404
- 后台样式丢失
- 插件安装页面错乱
- Gutenberg 编辑器异常
- 升级 WordPress 后后台显示异常
并且确认文件实际存在,
那么请优先检查服务器的防盗链配置。
很多时候问题并不在 WordPress,而是在 Web 服务器对 CSS、JS 等静态资源的错误拦截。
排查关键词
WordPress 后台 CSS 404
classic-themes.min.css 404
common.min.css 404
WordPress 后台样式丢失
WordPress 升级后后台异常
Apache 防盗链导致 CSS 404
宝塔防盗链导致 WordPress 后台异常
这个问题并不常见,但一旦遇到,往往会让人误以为是 WordPress 核心文件损坏。实际上,检查一下防盗链规则,可能几分钟就能解决。
本文由 好主题 原创整理,致力于分享实用的 WordPress 建站知识与主题开发经验。 我们专注于提供高质量的 WordPress企业主题 资源,帮助中小企业轻松构建专业网站。 转载请注明来源,并保留原文链接,感谢您的支持与理解。