我有一个位于我网站上的表单。提交表单时,需要将该信息发布到内部(或外部)网站,然后将浏览器重定向到该内部(或外部)网站。
表单位于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
,但浏览器中列出的网址仍然是mysite.com
网址。
如果POST和Redirect页面在外部域上,一切正常。浏览器中的URL会发生变化。只有当它是一个同域URL时,它才会执行这种奇怪的行为。通常,它会被发布到外部URL,但我需要它才能正常工作,因为它是一个内部URL,而不必编写单独的代码。
注意:要发布到/重定向的URL作为变量发送给我 - 我不知道它是否指向内部或外部域。
有关如何使其正确处理内部重定向的任何想法(更新浏览器URL)?