1

私は別の会社のサービスを私たちのサービスと統合しており、彼らは私たちに xml 投稿要求を送信し、xml で 200 応答を取得したいと考えていますが、要求を転送する必要もあります。

ユーザーが自分のページのリンクをクリックすると、私たちのサイトに送信され、xml 投稿要求が送信されます。xml 応答を送り返し、ユーザーをホームページに転送することになっています。

ヘッダーを設定することで、どちらか一方はわかりましたが、両方はわかりませんでした。

200 応答の場合:

header("Content-type: text/xml");
header("HTTP/1.1 200 OK");
header("Status: 200");

echo 'my-xml';
exit;

フォワードの場合:

header("Location: http://www.example.com/");
exit;

しかし、両方を行う方法がわかりませんか?

また、これは正常に機能する pre_get_posts フィルターをインターセプトすることによって Wordpress で行われています。

4

1 に答える 1

3

これを純粋に HTTP ヘッダーで行うことはできません。実行header("Location: http://www.example.com/");すると、PHP は暗黙的 Status: 302な応答を行い、header()呼び出し前の出力も警告をトリガーします。

また、HTML ではなく XML をブラウザーに送信しているため、リダイレクトを実行できる他のメカニズムはありません。与えられた要件を誤解しているか、統合している API が不可能なことを要求しています。

于 2013-09-23T20:23:13.370 に答える