PHP重定向 - 不会停留在当前页面上

时间:2012-10-30 04:46:08

标签: php redirect http-headers

<?php

  $links = array();

  $links[] = ''; //i left this blank so it stays on the current page, problem causer? 
  $links[] = 'http://domain2.com';
  $links[] = 'http://domain3.com';
  $links[] = 'http://domain4.com';

  $link = $links[array_rand($links)];

  header("Location: {$link}");

?>

我想要它做的是重定向到域2,3,4或者保持在当前的同一页面上。我希望它完全随机,就像上面的脚本一样。

以上代码适用于Chrome,但是,在FireFox和Internet Explorer上,它说它是

  

服务器以永远不会完成的方式重定向此地址的请求

有没有办法让它适用于所有浏览器?

1 个答案:

答案 0 :(得分:0)

<?php

$links = array();

$links[] = ''; 
$links[] = 'http://domain2.com';
$links[] = 'http://domain3.com';
$links[] = 'http://domain4.com';

$link   = $links[array_rand($links)];

if ($link !== '') { // Don't pass an empty Location
    header("Location: $link"); // Remove the {}
}

?>

删除{},它应该没问题。另外,我认为最好不要传递一个空的Location头。