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 に答える