0

我在浏览器窗口中收到 2 个地址,所以我收到错误消息。这是在 GoDaddy 上。我在想也许 php 中的更改可能会解决它,因为它似乎正在提出重定向来自的域。

示例:my site.com - 在提交表单中的提交按钮后尝试重定向到外部站点。

它会将我重定向到: http://www.mysite/ http://external_site 而不仅仅是:external_site.com

任何帮助都会很棒,因为我对此完全迷失了……</p>

重定向位于表单的隐藏字段中。它使用的是 GoDaddy 的 php,如下所示:

<?php
$request_method = $_SERVER["REQUEST_METHOD"];
if($request_method == "GET"){
  $query_vars = $_GET;
} elseif ($request_method == "POST"){
  $query_vars = $_POST;
}
reset($query_vars);
$t = date("U");

$file = $_SERVER['DOCUMENT_ROOT'] . "/../data/gdform_" . $t;
$fp = fopen($file,"w");
while (list ($key, $val) = each ($query_vars)) {
 fputs($fp,"<GDFORM_VARIABLE NAME=$key START>\n");
 fputs($fp,"$val\n");
 fputs($fp,"<GDFORM_VARIABLE NAME=$key END>\n");
 if ($key == "redirect") { $landing_page = $val;}
}
fclose($fp);
if ($landing_page != ""){
header("Location: http://".$_SERVER["HTTP_HOST"]."/$landing_page");
} else {
header("Location: http://".$_SERVER["HTTP_HOST"]."/");
}


?>
4

1 回答 1

1

$_SERVER["HTTP_HOST"]在第一个标题中删除...

<?php
    /* above your code */ 
    if ($landing_page != ""){
      header("Location: $landing_page");  // If the http:// is missing don't forget to add it
    } else {
      header("Location: http://".$_SERVER["HTTP_HOST"]."/");
    }
?>
于 2012-05-31T18:16:00.707 回答