[英]Method Not Allowed (405) even when posting to a php file on NGINX
我一直在搜尋,而我能發現的是,當您發布到html文件時,可能會發生此錯誤。 在我的設置中,我有一個重寫規則,該規則基本上從url中隱藏了index.php文件,並且我最長的時間認為與它有關。 Get可以正常工作,但是由於某種原因,Get不適用於OpenID。
不允許的方法
URL /post.php不允許POST請求
這是我的設置:
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
我自己解決了這個問題!
我安裝了lighttpd,並且在lighttpd中也再次遇到相同的錯誤。 我一直在尋找所有錯誤的地方,因為錯誤405是網絡服務器錯誤。
但是,我剛剛開始使用一個名為fatfree F3的新php框架,當您使用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');
我遇到了同樣的錯誤。
我的問題是POST函數不接受第二個參數
function someForm($f3, $args){
//some Process
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.