Elementor 加载失败 响应不是合法JSON

snipaste 2026 08 11 19 22 30

问题背景

最近在使用Word Press搭建个人技术网站,然后使用Astra主题 + starter template选择合适的模版,然后自己进行小范围改动,打算使用Elementor编辑器进行页面的修改。

问题现象

所有需要的主题、模板、插件都安装好后,使用Elementor进行页面编辑时,页面显示Elementor加载失败,页面右上角提示:响应不是合法的JSON。打开浏览器控制台,发现访问/wp-json/*路径下所有资源都是404。初步判断是wp-json路径下的资源访问不到,或者配置有问题导致。

问题分析

wp-json不是一个真实的物理目录,它是 WordPress REST API 的虚拟端点(Virtual Endpoint),由 WordPress 核心通过 URL 重写规则(Rewrite Rules)动态生成和路由。服务器上不存在 /wp-json/ 这个文件夹,所有请求都由 index.php 接管并分发到对应的 REST API 控制器。Elementor 编辑器大量依赖 REST API 来获取页面数据、保存内容、加载模板库等,因此在浏览器 Network 面板中看到大量 /wp-json/elementor/v1/… 之类的请求来获取数据或资源。

  • 1、首先检查下URL重写规则是否配置正常,该配置位于wordpress根目录下的.htaccess文件中,URL重写规则配置如下:
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
  • 2、确认apache2 mod_rewrite 模块已启用
# 使用该名称查看apache2启用的功能模块
apache2ctl -M | grep rewrite
# 如果mod_rewrite模块未启动,使用以下命令启用
sudo a2enmod rewrite
# 启用mod_rewrite模块后,需重启apache2服务
sudo systemctl restart apache2
  • 3、apache2命令权限配置。apache对应网站配置文件需要有一些命令授权配置,配置如下:
<Directory /var/www/wordpress>
   AllowOverride All # 表示允许 .htaccess 使用所有可用指令。
   Require all granted # 允许所有客户端(无论 IP、主机名或协议)访问当前作用域下的资源
<Directory>

配置文件目录在/etc/apache2/sites-available。
我的问题就是站点配置文件没有命令授权配置,导致无法访问重写资源,导致Elementor加载失败。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注