Решение ошибки с REST API «Ответ не является допустимым ответом JSON» WordPress+Nginx

Однажды я установил WordPress в операционной системе Ubuntu Server с веб сервером Nginx и при попытке добавить новую статью увидел ошибку:

Ошибка публикации. Сообщение об ошибке: Ответ не является допустимым ответом JSON.

При обновлении существующей статьи тоже отображалась ошибка:

Ошибка обновления. Сообщение об ошибке: Ответ не является допустимым ответом JSON.

Если посмотреть инструмент «Здоровье сайта» (/wp-admin/site-health.php), то можно было увидеть ошибку:

REST API выдал неожиданный результат
404 Not Found
nginx/1.14.0 (Ubuntu)

Чтобы решить эти ошибки, а также чтобы работали произвольные ссылки (как на apache с rewrite), я открыл файл конфигурации сайта в nginx (например /etc/nginx/sites-enabled/ixnfo-com.conf) и нашел стандартные строки:

       location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
               try_files $uri $uri/ =404;
       }

И заменил их на:

location / { 
    try_files $uri $uri/ /index.php$is_args$args;
}

Потом проверил корректность конфигурации Nginx и перезапустил его чтобы применить изменения:

sudo nginx -t
sudo service nginx restart

После этого ошибки исчезли.

Смотрите также мою статью:
Установка WordPress и Nginx

Вливайтесь в общение

3 комментария

Добавить комментарий

  1. Спасибо, мне помогло добавление $is_args

  2. А если у меня ошибка (Ошибка публикации. Сообщение об ошибке: Ответ не является допустимым ответом JSON) и здоровье сайта говорит,
    REST API не смог корректно обработать параметр запроса context.

    Как можно это решить?