即使发布到 php 文件也会出现 405 方法

即使发布到 php 文件也会出现 405 方法

我一直在谷歌搜索,我所能找到的只是当您发布到 html 文件时可能会发生此错误。在我的设置中,我有一个重写规则,基本上隐藏了 URL 中的 index.php,我很长时间以来都认为它与此有关。Get 工作正常。

方法不允许

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

答案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');  

相关内容