Nginx + REST, добавляем методы PUT, DELETE, побеждаем 405 и 409

Методы PUT и DELETE не поддерживаются по умолчанию, а ведь они так нужны для построения правильного REST API. Если поддержка этих методов не включена в nginx конфиге, то мы, в ответ на запрос получаем ошибку: 405 Method Not Allowed.

Топаем в конфиг и добавляем: dav_methods PUT DELETE; после чего, у некоторых методы прекрасно заработают, а вот у излишне лаконичных, вылезет новая ошибка 409 Conflict

Взглянем на реврайт, который пишут лаконичные ребята получающие ошибку 409:

location @handler {
    rewrite ^/api/(.*) /api/?$1 last;
}

А теперь посмотрим на реврайт тех, у кого всё работает:

location @handler {
     rewrite ^/api/(.*) /api/index.php?$1 last;
}

Оставить ответ

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