0

我正在尝试在 PHP 中进行标头重定向,执行以下操作:

header("Location: http://www.domain.com/some/url");
exit;

这在发出 GET 和 POST 请求时工作正常,但它似乎不适用于 PUT 和 DELETE 请求。

我试过做:

header("Location: DELETE/PUT http://www.domain.com/some/url");
exit;

但这似乎不起作用,直接调用url也可以正常工作。我可以在标头调用之前和之后回显一些文本,所以一切正常,似乎只是忽略了 PUT 和 DELETE 请求?

4

2 回答 2

0

类似的问题,可能相同的答案适用于您

标头函数用于将 HTTP 响应标头发送回用户(即您不能使用它来创建请求标头。

请问你为什么要这样做?为什么要模拟 POST 请求,因为您可以就在那儿,然后以某种方式对数据采取行动?我当然假设 script.php 驻留在您的服务器上。

要创建 POST 请求,请使用 fsockopen() 打开与主机的 TCP 连接,然后在 fsockopen() 返回的处理程序上使用 fwrite(),并使用您在 OP 中的标头函数中使用的相同值。或者,您可以使用 cURL。

PS:我看到它也显示在Linked标签下:)

于 2012-08-07T17:07:53.793 回答
0

使用Location不是设置 HTTP 方法标头的正确方法。

尝试以下操作:

header("Request-Type: DELETE");
header("Location: http://www.domain.com/some/url");
exit;

但是,我不确定您是否可以header()单独设置请求类型。我知道你可以使用 cURL。

于 2012-08-07T16:30:02.897 回答