我正在尝试在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请求?
答案 0 :(得分:0)
使用Location
不是设置HTTP方法标头的正确方法。
尝试以下方法:
header("Request-Type: DELETE");
header("Location: http://www.domain.com/some/url");
exit;
但是,我不确定您是否可以单独使用header()
设置请求类型。我知道你可以用cURL。
答案 1 :(得分:0)
Similar question,可能同样的答案适用于您
header函数用于将HTTP响应头发送回 用户(即您无法使用它来创建请求标头。
我可以问你为什么要这样做?为什么要在你模拟POST请求时 可以就在那里然后对数据采取行动吗?我在假设 当然script.php驻留在你的服务器上。
要创建POST请求,请使用打开与主机的TCP连接 fsockopen(),然后在从返回的处理程序上使用fwrite() fsockopen()具有您在头函数中使用的相同值 OP。或者,您可以使用cURL。
PS:我看到它也显示在Linked
标签下:)