Поддержка Проблемы и решения Ответ не является допустимым ответом JSON

  • Добрый день.
    Столкнулась с той же проблемой, что и некоторое кол-во пользователей пару месяцев назад, однако среди имеющихся в поиске постов ответа не нашла.

    Проблема:
    Open Server 5.2.2; WordPress 5.3.2.
    Чистая установка в новую папку + новая бд.
    Голый WordPress, тема стандартная TwentyTwenty.
    Предустановленные плагины не активировались и сразу удалены.
    Лишние темы удалены.
    Ничего в системе не менялось и не настраивалось, кроме одного: «Настройки -> Постоянные ссылки» переключены со стандартных на «Название записи».
    При попытке изменить или добавить пост или страницу появляется сообщение об ошибке:
    «Ошибка обновления. Сообщение об ошибке: Ответ не является допустимым ответом JSON.»

    «Здоровье сайта» пишет 2 проблемы — отсутствие https и «REST API выдал неожиданный результат».
    Rest APi не подключала и не отключала, напомню: сайт голый. Создан полчаса назад.

    В чем может быть проблема?

    UPD: переключение «Постоянных ссылок» обратно к стандартному варианту чинит проблему.
    Но такое решение, к сожалению, совсем не вариант.
    Т.е. проблему нужно искать в файлах самого WordPress’a… Но где?
    И почему она вообще возникает, ведь вид ссылок — это стандартная системная функция..?

    • Тема изменена 7 месяцев, 1 неделя назад пользователем Avriel.
Просмотр 15 ответов — с 1 по 15 (всего 25)
  • avriel, привет.

    В чем может быть проблема?

    Проблема может быть много в чём, чаще всего это всякие оптимизаторы и плагины безопасности, но это не ваш случай.

    Т.е. проблему нужно искать в файлах самого WordPress’a… Но где?

    Очень смелый вывод. Файл .htaccess создан?

    В чем может быть проблема?

    В чем угодно. Гадать, не видя сайт, можно очень долго и столь же безуспешно.

    Т.е. проблему нужно искать в файлах самого WordPress’a…

    Считаете, что Вам подсунули бракованный экземпляр? Скачайте новый и перезалейте файлы.

    Файл .htaccess создан?

    Да, создан, стандартный.

    Гадать, не видя сайт, можно очень долго и столь же безуспешно.

    Так как сайт на локальном сервере, показать никак. Скрины, код? Что поможет?

    Скачайте новый и перезалейте файлы.

    Уже. Не помогает. Более того, из научного интереса второй раз качала оригинал, а не русскую версию. Результат один.
    Поэтому и предположила, что проблема где-то в самом дистрибутиве — ведь вообще ничего больше нет.

    avriel,

    Так как сайт на локальном сервере, показать никак. Скрины, код? Что поможет?

    Копаться в настройках вашего ПО — Open Server. Как минимум, можно логи ошибок посмотреть.

    Уже. Не помогает.

    То был сарказм 🙂

    Поэтому и предположила, что проблема где-то в самом дистрибутиве — ведь вообще ничего больше нет.

    Вы почему-то игнорируете едва ли не самое основное — ПО, на котором вы пытаетесь работать с проектом.

    Что поможет?

    Ничего. Придется Вам самостоятельно. Для начала просто откройте /wp-json/ и посмотрите, нет ли там чего лишнего или неправильного. Дальше по результатам.

    И как справедливо заметил предыдущий оратор, корень зла как правило кроется в кривом серверном ПО.

    И как справедливо заметил предыдущий оратор, корень зла как правило кроется в кривом серверном ПО.

    И это очень печально.
    На внешнем хостинге все действительно работает корректно…

    Но сама проблема до конца не решена.
    Если найдутся знающие люди, как починить проблему совместимости — буду рада.

    Модератор Yui

    (@fierevere)

    ゆい

    адрес сайта с проблемой не оставите?
    Посмотреть что у вас там в заголовках сервера и REST API

    Avriel,

    На внешнем хостинге все действительно работает корректно…

    Если у вас на хостинге всё работает, то в чём суть запуска на локалхосте?

    Если найдутся знающие люди, как починить проблему совместимости — буду рада.

    Знающих тут немало, но наугад перебирать возможные параметры конфигурации ПО — это совсем не путь джедаев. Лучшие два варианта — смотреть /wp-json/ и логи ошибок.

    Если у вас на хостинге всё работает, то в чём суть запуска на локалхосте?

    Я живу загородом и у меня весьма медленный, тарифицируемый интернет. Мне неудобно работать с хостингом в процессе сборки и настройки сайта.

    Лучшие два варианта — смотреть /wp-json/ и логи ошибок.

    Логи (если я правильно понимаю, что требуется) есть, а вот папку wp-json я найти так и не смогла. Где точно она должна находиться?

    адрес сайта с проблемой не оставите?

    Не получится. Проблема наблюдается только на локальном сервере.

    UPD:
    Заметила еще один нюанс.
    При включении нестандартных ссылок все страницы, кроме главной, отдают 404 ошибку.
    Архив постов, свои страницы сайта, страницы магазина woocommerce — все.

    • Ответ изменён 7 месяцев, 1 неделя назад пользователем Avriel.

    Avriel,

    Мне неудобно работать с хостингом в процессе сборки и настройки сайта.

    Тогда понятно.

    Логи (если я правильно понимаю, что требуется) есть, а вот папку wp-json я найти так и не смогла. Где точно она должна находиться?

    //ваш-домен.ру/wp-json/ и, соотв., //localhost/wp-json/. В логах ошибок что-то есть?

    При включении нестандартных ссылок все страницы, кроме главной, отдают 404 ошибку.

    У Апача mod_rewrite имеется, активирован? (можно проверить, к примеру, через phpinfo();)

    //ваш-домен.ру/wp-json/ и, соотв., //localhost/wp-json/

    отдает 404

    В логах ошибок что-то есть?

    Вкладка «Nxinx отладка» в OpenServer выдает кучу ошибок при попытках создания и обновления файлов через то самое wp-json, подавляющее большинство ответов «3: The system cannot find the path specified».

    (можно проверить, к примеру, через phpinfo();)

    Поиск по странице по «rewrite» нашел только «url_rewriter»…

    • Ответ изменён 7 месяцев, 1 неделя назад пользователем Avriel.
    • Ответ изменён 7 месяцев, 1 неделя назад пользователем Avriel.

    Avriel,

    отдает 404

    Логично. А так: //localhost/?rest_route=/ ?

    Если бы я еще что-то понимала в этом… Если я правильно поняла гугл, то у меня не Apache, а Nginx. Я вообще ничего не поняла? Или поняла правильно, но так быть не должно?

    Желательно бы вам всё же разобраться что вы устанавливали и с чем работаете. Вы когда устанавливали «Open Server», какие-то настройки задавали, что-то меняли, выбирали? Так-то он идёт из коробки с Apache + Nginx.

    Модератор Yui

    (@fierevere)

    ゆい

    у вас в конфиге nginx должен быть блок с правилом перезаписи url

    server {
    

    дальше следуют всякие директивы, и практически в конце этого блока

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

    вот такое правило должно присутствовать.

    Yui, ΞX.MI,
    Спасибо за помощь.
    Враг найден — модуль Apache просто не запускался.

    Avriel, 🙂

Просмотр 15 ответов — с 1 по 15 (всего 25)