Intereting Posts
Сохранение каждой страницы PDF в изображение с помощью Imagick Могу ли я получить «базовый URL» в WordPress в файле шаблона? XAMPP и WAMP в LAMP, что лучше? Как я могу отправить весь массив из цикла php? печать на сетевой принтер с использованием PHP PHP Прерывание при создании большого .zip-файла В htaccess я хотел бы заменить символы подчеркивания дефисом, а затем перенаправить пользователя новый URL-адрес PHP – Уничтожьте сеанс, если нет никаких действий за 10 минут Глупое сообщение об ошибке: Не удалось загрузить ресурс: net :: ERR_CACHE_MISS Почему strtotime дает разные результаты в разных часовых поясах? PHP нажимает значение на массив во время рекурсивного поиска Расстояние между двумя адресами Добавление содержимого команды UNIX в тег div Команды не синхронизированы; вы не можете запустить эту команду сейчас, когда вызываете хранимую процедуру в Mysql Отображение цвета другой границы, если поле действительно

Только иметь доступ к методу «GET» в WP REST API – другие возвращают 401

Я работаю с API WordPress REST и имею следующую проблему:

Когда я пытаюсь выполнить запрос «POST» или «DELETE», я получаю ошибку 401 – даже для стандартных конечных точек, таких как «wp-json / wp / v2 / posts».

Локально он работает без проблем, но на моем веб-сервере это не так.

Вот ответ от того, когда я пытаюсь сделать запрос «POST» на сервер:

{ "code": "rest_cannot_create", "message": "Sorry, you are not allowed to create new posts.", "data": { "status": 401 } } 

… и ГОЛОВЫ:

 Access-Control-Allow-Credentials →true Access-Control-Allow-Headers →Authorization Access-Control-Allow-Methods →POST, GET, OPTIONS, PUT, DELETE Access-Control-Allow-Origin → Access-Control-Expose-Headers →X-WP-Total, X-WP-TotalPages Age →0 Allow →GET Connection →keep-alive Content-Length →111 Content-Type →application/json; charset=UTF-8 Date →Wed, 06 Apr 2016 13:59:45 GMT Server →Apache X-Content-Type-Options →nosniff 

Вот заголовки для «POST» -Request для «wp-json / wp / v2 / posts» с моего локального сервера:

 Access-Control-Allow-Credentials →true Access-Control-Allow-Headers →Authorization Access-Control-Allow-Methods →POST, GET, OPTIONS, PUT, DELETE Access-Control-Allow-Origin → Access-Control-Expose-Headers →X-WP-Total, X-WP-TotalPages Allow →GET, POST Cache-Control →no-cache, must-revalidate, max-age=0 Connection →keep-alive Content-Type →application/json; charset=UTF-8 Date →Wed, 06 Apr 2016 13:57:19 GMT Expires →Wed, 11 Jan 1984 05:00:00 GMT Last-Modified → Location →http://seebook.dev/wp-json/wp/v2/posts/25 Pragma →no-cache Server →nginx Transfer-Encoding →chunked X-Content-Type-Options →nosniff X-Powered-By →PHP/5.5.9-1ubuntu4.14 

Как вы можете видеть, локально разрешены как «GET», так и «POST», только на сервере «GET».

Есть ли у вас какие-либо идеи, где проблема может быть?

Solutions Collecting From Web of "Только иметь доступ к методу «GET» в WP REST API – другие возвращают 401"

Я смог решить эту проблему после нескольких часов поиска!

Проблема заключалась в том, что .htaccess не хватало этих правил mod_rewrite:

 # BEGIN WP BASIC Auth <IfModule mod_rewrite.c> RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] </IfModule> # END WP BASIC Auth 

Найден фрагмент здесь: https://stackoverflow.com/a/36499422/3754201

ура