0

私が見つけたのは、htmlファイルに投稿するとこのエラーが発生する可能性があるということだけです。私のセットアップでは、基本的に index.php ファイルを URL から非表示にする書き換えルールがあり、それと関係があると長い間考えていました。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
4

2 に答える 2

1

私はこの問題を自分で解決しました!

lighttpdをインストールしましたが、lighttpdでも同じエラーが発生しました。エラー405はWebサーバーエラーであるため、私はすべての間違った場所を見ていました。

ただし、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');  
于 2011-12-08T12:48:11.450 に答える
0

同じエラーが発生していました。

私の問題は、POST 関数が 2 番目の引数を受け入れなかったことです。

function someForm($f3, $args){
    //some Process
}
于 2015-05-26T19:50:29.477 に答える