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');