Дожна ли быть папка wp-json в корне сайта (для работы с Rest API в WordPress)?

Ссылка скопирована
1 ответ

Добрый день
Пытаюсь запустить скрипт, который требует Rest API. Перед этим установил и активировал соответствующий плагин
Он выдает ошибку, пытаясь обратиться к domain.ru/wp-json/wp/v2/posts?embed=true
Захожу на сервер и вижу, что у меня нет папки /wp-json/ в корне
Она должна присутствовать для работы с Rest API, как понимаю?

Дополнительные вопросы

Ответы:

Она должна присутствовать для работы с Rest API, как понимаю?

Нет.

Он выдает ошибку,

Нужно писать текст ошибки и задавать тот вопрос, на который реально хочется получить ответ.

Дожна ли быть папка wp-json в корне сайта (для работы с Rest API в Wordpress)?

Михаил Р. @Mike_Ro Python, JS, WordPress, SEO, Bots, Adversting

Дожна ли быть папка wp-json в корне сайта (для работы с Rest API в Wordpress)?

Нет.

Перед этим установил и активировал соответствующий плагин

Какой?

Он выдает ошибку

Ошибку покажите?

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Виктор Sys Ответ

Папки wp-json в корне сайта быть не должно. В WordPress REST API работает через rewrite rules. Адрес /wp-json/wp/v2/posts выглядит как папка, но физически такой директории на сервере нет. Запрос обрабатывает WordPress.

Проверить REST API можно так:

https://domain.ru/wp-json/
https://domain.ru/wp-json/wp/v2/posts

https://domain.ru/wp-json/ https://domain.ru/wp-json/wp/v2/posts

Если открывается 404, причина обычно одна из этих:

  1. Не работают постоянные ссылки/rewrite rules.
  2. Сервер не передаёт запросы в WordPress.
  3. REST API отключён плагином безопасности.
  4. Стоит блокировка в nginx/apache/Cloudflare.
  5. WordPress установлен в подпапку, а запрос идёт не туда.

Сначала зайдите в «Настройки → Постоянные ссылки» и просто нажмите «Сохранить». Это сбросит rewrite rules. Потом проверьте /wp-json/ ещё раз.

Для Apache в корне должен быть стандартный блок WordPress:

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]

Для nginx должен быть try_files:

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

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

Если REST API закрыт плагином безопасности, откройте настройки этого плагина и проверьте запреты на REST, XML-RPC и user endpoints. Но создавать папку wp-json вручную не нужно и нельзя — это не решит проблему.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно