我最近将 WordPress 网站迁移到了NGINX,来自 apache2。我安装了PHP-FPM,PHP 命令行工具以及 NGINX 所需的其他 PHP 包。网站运行正常,但清除缓存后(我使用 w3 total cache),网站就崩溃了。
网站的整体结构完好无损,但几乎整个网站都是白色的。图片无法加载,文字排列成奇怪的垂直线,颜色错误,图标缺失或扭曲。我非常困惑,因为我做的所有事情都是正确的。
我重新安装了 PHP 模块,重新加载了 PHP-fpm 和 nginx,并重新设置了文件权限。没有。我还注意到 WordPress 仪表板中还有另外两个错误。第一个是一条消息(大概来自 W3 Total Cache),说“nginx.conf 已更新,请重新启动 nginx”。
我重启了 nginx 几次,这个消息一直弹出。关闭该消息的按钮也不起作用。另一个错误是,当我进入 WordPress 的“站点健康”选项卡时,它显示一条消息,说“站点健康需要 JavaScript”,这让我相信 nginx 不知何故没有加载 JS(或者 CSS)。
有一次我甚至尝试禁用 W3,这虽然使得图像显示出来,但却没有解决其他问题。
我正在运行 Ubuntu 20.04。
答案1
我确实修复了这个错误。有趣的是,其中一个安全标头(内容策略标头)导致了这个问题
答案2
server {
...
#add_header Content-Security-Policy "default-src 'self'; script-src 'self';";
...
}
这就是你所说的吗?我遇到了类似的问题。并非所有内容都填充在我的 Wordpress“Hello World”默认和管理面板中。我注释掉了这个,然后网站外部的内容开始正确填充。我希望这对任何可能面临同样问题的人有所帮助。