0

我一直在谷歌搜索,我只能发现当您发布到 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
4

2 回答 2

1

我刚刚自己解决了这个问题!

我安装了 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');  
于 2011-12-08T12:48:11.450 回答
0

我遇到了同样的错误。

我的问题是 POST 函数不接受第二个参数

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