3

这里有一个非常奇怪的问题。向我的 PHP 脚本发送发布请求时

$_SERVER['REQUEST_METHOD'] 

返回“GET”而不是“POST”。

它适用于所有其他 REST 方法

所以这就是我得到的

GET -> GET
POST-> GET
PUT -> PUT
DELETE -> DELETE

它只发生在我的一台服务器上,所以我假设这是一个 apache 问题,我设法弄清楚它只有在我的 url 添加“www”时才会发生。

IE

www.something.com

导致问题,但

某事.com

才不是

我在同一台服务器上的不同站点上进行了测试,我得到了同样的东西,所以我假设它是全局配置。

有什么想法吗

4

1 回答 1

4

正如HTTP 规范对响应代码 301 和 302 所说:

注意:由于历史原因,用户代理可以将请求方法从 POST 更改为 GET 以用于后续请求。如果不希望出现这种行为,则可以使用 307(临时重定向)状态码代替

第三种(但不太可能)的可能性是您收到了对初始 URI 的 303 响应。解决方案是双重的:

  • 将受您控制的客户端配置为 POST 到规范 URI,这样它们就不会被重定向。
  • 在这种情况下,将您的服务器配置为使用 307 而不是 301/302 进行重定向。
于 2013-09-27T14:27:14.300 回答