PHP REQUEST_METHOD POST 变成GET

PHP REQUEST_METHOD POST turns into GET

我正在尝试扩展一个使用 CodeIgniter 1.7(我知道...)的旧 Web 应用程序并且 运行 遇到了一些麻烦。我希望某条路线只能通过 POST 请求访问。所以在函数的顶部我有以下内容;

if ($_SERVER['REQUEST_METHOD'] != 'POST')
    die ('Wrong request method: ' . $_SERVER['REQUEST_METHOD']);

本地,在 PHP 7.0.14 和 PHP 的内置网络服务器上,这工作正常。然而,在生产中,在 CPanel 管理的服务器 运行 PHP 5.4.25 上,它没有。

当使用 Postman 向我的路线发送 POST 请求时,我得到以下信息;

Wrong request method: GET

PUT, PATCH, DELETE, ...请求都被正确识别。然而,POST 请求似乎神奇地变成了 GET 请求。

POST 我随请求发送的数据似乎也消失了,在 $_POST$_GET 中都找不到.

它似乎与 CodeIgniter 框架无关,但是当我调用框架外的文件时,我得到了相同的结果。

有什么想法吗?

我正在向 http://domain whcih was set up to redirect to http://www.domain 发出请求,结果将 POST 请求变成了 GET 请求。并且 Postman 不会通知用户此类重定向的发生。

如果您 运行 遇到这个问题,请务必检查是否发生了任何重定向。

我想知道为什么这只发生在 POST 请求中,而不是 PUT、PATCH、DELETE 等请求。

感谢 LSerni、Alex Blex 和 Vaviloff 为我指明了正确的方向。