Sakurairo主题(即本站使用的主题)是一款非常流行且美观的二次元主题,WP Rocket是Wordpress中著名的缓存插件之一,可以显著优化提升网站的加载速度。但是,在使用WP Rocket并开启各项优化之后,在开发者工具(F12)中发现一些特定的js文件出现了404(文件不可访问)的错误,对谷歌的网站评分产生了影响。

Sakurairo主题与WP Rocket插件可能存在的兼容性问题(js文件404报错)1

在仔细观察请求URL后可以发现,此时js文件的路径非常长,并不是位于Wordpress默认的主题安装文件夹中,而是位于“cache”文件夹下。“cache”是“缓存”的意思,由此推测WP Rocket在进行优化的时候,对js文件进行了重新编码、打包等操作,因此原始文件已经不再存在,而Sakurairo主题在运行的时候,请求的依然是原始的js文件,因此产生了404(文件不可访问)的错误。

为了彻底搞清楚,我在宝塔面板的文件管理下进一步验证。第一张图是主题原始文件夹(一张图根本截不完),第二张图是WP Rocket缓存文件夹。

Sakurairo主题与WP Rocket插件可能存在的兼容性问题(js文件404报错)2
Sakurairo主题与WP Rocket插件可能存在的兼容性问题(js文件404报错)3

在js文件夹中,可以很明显地看到WP Rocket对整个文件夹中的文件进行了重构,原来的一堆js文件都被整合在了一起,Sakurairo主题读取js文件时出现404(文件不可访问)的错误也就可以理解了。

解决这个问题的方法很简单,只需要进入WP Rocket插件的管理后台,在“文件优化”菜单中关闭对js文件的所有优化,让所有的js文件保持原始文件的样子和路径就可以了(如果还没配置WP Rocket的话这里干脆别开就好了)。保险起见,可以在WP Rocket插件和自己的浏览器中清理一下缓存,之后就可以重新打开页面观察是否还有报错。

Sakurairo主题与WP Rocket插件可能存在的兼容性问题(js文件404报错)4
爱科技、爱教育、爱生活
最后更新于 2024-08-15