WordPress主题自定义样式表/脚本返回404错误排查求助
我之前折腾WordPress主题的时候也碰到过一模一样的问题,给你梳理几个最容易踩的坑,按顺序排查大概率能解决:
路径匹配问题(最常见!)
先确认你用的是父主题还是子主题:get_template_directory_uri()是指向父主题的根目录,如果当前用的是子主题,你应该用get_stylesheet_directory_uri()来获取子主题的路径,不然会跑到父主题里找文件,自然404。
另外,一定要验证实际路径:可以在主题的header.php里临时加一行echo get_template_directory_uri() . '/assets/build/css/libraries.css';,然后访问网站看输出的URL,再去FTP或者服务器文件管理器里核对,是不是真的存在这个文件?还要注意大小写——Linux服务器对文件名大小写敏感,比如Libraries.css和libraries.css是两个完全不同的文件。权限配置细节
虽然你设了770,但WordPress推荐的标准权限是文件夹755、文件644,770可能因为服务器用户组不匹配导致无法访问。比如很多服务器的Web服务运行用户是www-data或apache,如果你的主题文件夹所属的用户组不是这个,就算权限是770,Web服务也读不到文件。可以先临时把文件夹权限改成755,css文件改成644试试,排除权限问题。缓存干扰
有时候文件明明已经上传正确,但浏览器缓存或者服务器端的缓存(比如CDN、WP Rocket这类缓存插件)还停留在旧状态,导致返回404。试试用Ctrl+F5强制刷新浏览器,或者暂时禁用所有缓存插件,再检查控制台的请求。构建工具的输出问题
如果你是用Webpack、Gulp这类工具编译生成的css文件,一定要确认构建配置的输出路径是不是正确指向了assets/build/css目录。有时候构建脚本里的路径写错了,生成的文件跑到了别的文件夹,或者根本没生成成功,自然找不到。
内容的提问来源于stack exchange,提问作者ccmanz

