Plesk托管WordPress子站JS、CSS资源404无法加载问题求助
Plesk托管环境下WordPress全目录静态资源404可落地排查方案
- 核查子域名文档根目录配置
手动在浏览器访问核心目录下的已知存在的文件,如[你的子域名]/wp-includes/js/jquery/jquery.min.js,如果直接访问也返回404,优先检查Plesk面板中子域名绑定的文档根路径,确认路径和WordPress实际安装的物理目录完全匹配。常见错位场景:Plesk自动生成的子域名根目录和WordPress实际安装目录分属两个物理路径,没有做实际文件关联,会直接导致所有子目录请求触发404。 - 分层定位404的触发链路
不要仅依据浏览器控制台报错判断问题来源,逐段测试请求通路:- 直接在服务器终端执行
curl -I http://127.0.0.1/wp-includes/js/jquery/jquery.min.js,如果本地回环请求返回200,说明文件本身存在、Web应用层可正常读取,问题出在前置的Nginx反代层;如果本地回环也返回404,说明文件路径映射存在错位。 - 临时关闭Plesk配置的Nginx反向代理,让Apache直接监听80/443端口测试,如果资源正常加载,说明原Nginx配置的root路径和实际文件路径不统一。
- 直接在服务器终端执行
- 排查安全规则误拦截
Plesk默认安装的ModSecurity、Web应用防火墙规则,可能会把带版本参数的静态资源请求(如jquery.min.js?ver=6.4)识别为SQL注入类攻击,直接返回404拦截。临时在子域名的安全设置里关闭ModSecurity规则测试,若资源恢复加载,调整对应规则的拦截白名单即可。 - 硬编码修正站点地址配置
打开WordPress根目录下的wp-config.php,在/* 上方停止编辑 */注释行之前添加两行强制定义,排除数据库内站点地址配置错误导致的路径异常:
临时将WordPress固定链接切换为默认的朴素格式,排除伪静态规则失效导致的路由拦截问题。define('WP_HOME', 'https://你的实际子域名地址'); define('WP_SITEURL', 'https://你的实际子域名地址'); - 检查软链接映射异常
Plesk一键部署WordPress时,部分版本会自动为wp-content、wp-admin目录创建软链接,当服务器权限调整、路径变更导致软链接目标失效时,对应路径下的所有文件都会返回404,即便文件权限配置正确。通过服务器终端执行ls -l查看三个核心目录的属性,若显示为失效软链接,删除软链接后将实际物理路径下的WordPress文件复制到对应目录即可。 - 排查静态资源模块冲突
临时关闭Plesk自带的静态资源压缩、Nginx静态缓存模块,部分版本的缓存规则存在路径匹配bug,会把本应正常返回的静态文件误判为不存在返回404。
内容的提问来源于stack exchange,提问作者SNMLN
相关产品推荐
相关产品推荐

