2

私は自分のサイトにあるフォームを持っています。フォームが送信されると、その情報を内部 (または外部) Web サイトに POST し、ブラウザーをその内部 (または外部) Web サイトにリダイレクトする必要があります。

フォームは次の場所にあります。https://www.mysite.com/form.php

<?php
$urlToPostTo = 'https://www.mysite.com/postPage.php';
$urlToRedirectTo = 'https://www.mysite.com/redirectPage.php';

$curlConnection = curl_init($urlToPostTo);
curl_setopt($curlConnection, CURLOPT_POST, true);
curl_setopt($curlConnection, CURLOPT_POSTFIELDS, $valuesToPost);

curl_exec($curlConnection);
curl_close($curlConnection);

header("Location: $urlToRedirectTo");
exit;

?>

フォームは CURL を使用して正しく送信され、最終的に表示されるページは です$urlToRedirectToが、ブラウザに表示される URL は依然としてmysite.comURL のままです。

POST ページとリダイレクト ページが外部ドメインにある場合、すべて正常に動作します。ブラウザの URL が変わります。この奇妙な動作をするのは、同じドメインの URL の場合だけです。通常は外部 URL に投稿されますが、別のコードを記述しなくても内部 URL の場合に正しく機能する必要があります。

注: 投稿先/リダイレクト先の URL は変数として表示されます。内部ドメインと外部ドメインのどちらを指すかはわかりません。

内部リダイレクトを正しく処理する方法 (ブラウザーの URL を更新する) に関するアイデアはありますか?

4

0 に答える 0