Symfony2: Отправлено УДАЛИТЬ (даже PUT / POST) ответил GET

Я разработал спокойный бэкэнд Symfony2, и локально все работает.

Поэтому я развернул приложение на сервере apache2 (обернутый directadmin), и появились странные ошибки:

В основном, когда я отправляю DELETE (даже PUT / POST, это зависит от API), сервер отвечает как GET.

Чтобы лучше объяснить проблему, я вставляю журнал команды curl:

$ curl -X DELETE website/api/sign/ -H "apiKey:7WJiHShAYPBI0asK1ZaKlJzpnn550X08" -v
* Hostname was NOT found in DNS cache
*   Trying <ip here>...
* Connected to www.website.com (<ip here>) port 80 (#0)
> DELETE /api/sign/ HTTP/1.1
> User-Agent: curl/7.35.0
> Host: www.website.com
> Accept: */*
> apiKey:7WJiHShAYPBI0asK1ZaKlJzpnn550X08
>
< HTTP/1.1 200 OK
< Date: Sun, 29 Mar 2015 16:13:07 GMT
* Server Apache/2 is not blacklisted
< Server: Apache/2
< X-Powered-By: PHP/5.3.16
< Cache-Control: no-cache
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE
< Access-Control-Allow-Headers: X-Requested-With, origin, content-type, accept, apiKey
< X-Symfony-Cache: GET /api/sign/: miss
< Vary: Accept-Encoding,User-Agent
< Content-Length: 279
< Content-Type: application/json

И вот тогда контент — это контент относительно запроса GET …

На самом деле не знаю, почему, но я уже добавил все ОПЦИИ API.

1

Решение

РЕШЕНИЕ:

http://forum.directadmin.com/showthread.php?t=35402

проблема была просто в том, что PUT и DELETE были отключены в httpd

изменение httpd.conf таким образом решило проблему:

[old httpd.conf]

<Directory /home/*>
AllowOverride All
Options -MultiViews -Indexes FollowSymlinks IncludesNoExec +Includes
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

а также

[new httpd.conf]

<Directory /home/*>
AllowOverride All
Options -MultiViews -Indexes FollowSymlinks IncludesNoExec +Includes
<Limit GET POST OPTIONS PROPFIND PUT DELETE>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND PUT DELETE>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]