Однажды я установил 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
Спасибо, мне помогло добавление $is_args
Большое спасибо, помогло!
А если у меня ошибка (Ошибка публикации. Сообщение об ошибке: Ответ не является допустимым ответом JSON) и здоровье сайта говорит,
REST API не смог корректно обработать параметр запроса context.
Как можно это решить?