PUT request result in 403 Forbidden - Precisa do Apache para permitir pedidos PUT

2

Estou construindo uma API RESTFUL e preciso fazer com que o Apache aceite solicitações PUT. Sempre que coloco em um URL, estou recebendo um erro 403 Forbidden .

curl -X PUT api.example.com/api/foo

Eu tentei adicionar o seguinte ao meu diretório virtual (sem sucesso):


<Limit GET POST PUT DELETE HEAD OPTIONS>
    Order allow,deny
    Allow from all
</Limit>
<LimitExcept GET POST PUT DELETE HEAD OPTIONS>
    Order deny,allow
    Deny from all
</LimitExcept>

Quais outras configurações podem estar causando isso?

EDITAR

Estou reescrevendo meus URLs, todos são reescritos para index.php da seguinte forma:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !\.
RewriteRule ^(.*)$ /api/index.php/$1 [L,QSA]

    
por mmattax 31.05.2011 / 15:17

2 respostas

2

Editar:

Adicione isto ao seu conf Apache:

 Script PUT /api/index.php

Isso pressupõe que seu script de manipulador real seja chamado de index.php e esteja localizado em /api .

    
por 31.05.2011 / 15:29
1

Adicione isto ao arquivo .htaccess nesta pasta

<Limit GET POST PUT OPTIONS>
    Require all granted
</Limit>
<LimitExcept GET POST PUT OPTIONS>
    Require all denied
</LimitExcept>
    
por 12.09.2015 / 01:28