【发布时间】:2013-10-03 15:50:45
【问题描述】:
这里遇到了一个非常奇怪的问题。向我的 PHP 脚本发送 post 请求时
$_SERVER['REQUEST_METHOD']
返回“GET”而不是“POST”。
它适用于所有其他 REST 方法
这就是我得到的
GET -> GET
POST-> GET
PUT -> PUT
DELETE -> DELETE
它只发生在我的一台服务器上,所以我假设这是一个 apache 问题,我设法弄清楚它只有在我的 url 添加“www”时才会发生。
即
www.something.com
导致问题,但是
something.com
没有
我在同一台服务器上的不同站点上进行了测试,得到了相同的结果,所以我假设它是全局配置。
任何想法
【问题讨论】:
-
hmm.. 如果表单的操作,子域是什么?它们可能与当前页面不同的子域。我不确定这是否是个问题,但值得一试。
-
它们不是子域,我尝试过的每个站点都有自己的主域。不过感谢您的建议。
-
尝试比较 phpinfo() 输出
-
phpinfo() 给出与上面相同的结果。对于 GET 请求,REQUEST_METHOD 仍以 POST 形式返回。
-
“只有当我将“www”添加到我的 url 时才会发生这种情况。” – 您是否进行了重写以将这些请求重定向到非 www 版本?重定向始终使用 GET 进行,因此此时您将丢失 POST 数据。