簡體   English   中英

即使發布到NGINX上的php文件,也不允許方法(405)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM