0
<?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 上它说它是

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

有什么方法可以让它在所有浏览器上运行?

4

1 回答 1

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 标头。

于 2012-10-30T04:50:06.797 回答