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
.
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]
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
.
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>
Tags apache-2.2 httpd