405 Método mesmo ao postar em um arquivo php

2

Estive pesquisando e tudo o que posso encontrar é que esse erro pode acontecer quando você posta em um arquivo html. Na minha configuração eu tenho uma regra de reescrita, que basicamente esconde o index.php da url, e eu por muito tempo eu pensei que tinha algo a ver com isso. Get funciona bem.

Method Not Allowed

POST request is not allowed for the URL /post.php

Aqui está minha configuração:

Debian squeeze / AMD64

nginx version: nginx/1.1.8

PHP 5.3.3-7+squeeze3 with Suhosin-Patch (cli) (built: Jun 28 2011 08:24:40) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
    
por RoboTamer 07.12.2011 / 21:52

1 resposta

2

Acabei de resolver este problema sozinho!

Eu instalei o lighttpd e recebi o mesmo erro novamente com o lighttpd também. Eu estava olhando para todos os lugares errados porque o erro 405 é um erro do servidor web.

No entanto, eu comecei a usar um novo framework php chamado fatfree F3, e o erro está sendo gerado por este framework quando você usa GET da seguinte forma:

F3::route('GET /autho/idreply', 'auth.php');

O GET significa que o framework está esperando apenas variáveis GET e rejeitará variáveis POST.

Com um erro de servidor 405, isto é!

Então mudando isso para, seguindo o truque:

F3::route('POST /auth/oidreply', 'auth.php');  

E você pode até permitir que o framework aceite ambos ou com este comando;

F3::route('GET|POST /auth/oidreply', 'auth.php');  
    
por 08.12.2011 / 13:49