Метод не разрешен (405) даже при публикации в файл php на NGINX - PullRequest
0 голосов
/ 08 декабря 2011

Я гуглял, и все, что я могу найти, это то, что эта ошибка может произойти, когда вы публикуете в HTML-файл.В моей настройке у меня есть правило перезаписи, которое в основном скрывает файл index.php от URL, и я долгое время думал, что это как-то связано с этим.Get работает нормально, но Get по какой-то причине не работает с OpenID.

Метод не разрешен

POST-запрос запрещен для URL / сообщения.php

Вот мои настройки:

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

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Я только что решил эту проблему сам!

Я установил lighttpd и снова получил ту же ошибку с lighttpd. Я искал все неправильные места, потому что ошибка 405 является ошибкой веб-сервера.

Тем не менее, я только начал использовать новый php-фреймворк с именем fatfree F3, и эта фреймворк генерирует ошибку при использовании GET следующим образом:

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

GET означает, что среда ожидает только переменные GET и будет отклонять переменные POST.

С ошибкой сервера 405, то есть!

Так что изменив это на следующее, сделали трюк:

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

И с помощью этой команды вы даже можете позволить фреймворку принимать и то, и другое;

F3::route('GET|POST /auth/oidreply', 'auth.php');  
0 голосов
/ 26 мая 2015

Я получаю ту же ошибку.

Моя проблема заключалась в том, что функция POST не принимала второй аргумент

function someForm($f3, $args){
    //some Process
}
...