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接続を開き、FPのヘッダー関数で使用したのと同じ値でfsockopen()から返されたハンドラーでfwrite()を使用します。または、cURLを使用することもできます。

LinkedPS:タブの下にも表示されているようです:)

于 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 に答える