如何在php中处理重定向循环错误

时间:2013-01-26 04:30:50

标签: php codeigniter

我正在使用一个php函数,它重定向到很多次到标题。运行21次左右后,会出现以下错误:

"This website has a redirect loop" and stops running 

以下是我的重定向代码:

header('Location: http://myfunction.com/index.php/test/mytestfunction?days=60&start='. ($start + 100) .'&end='. ($end + 100));

这里$ start和$ end是从数据库获取数据的限制。项目在codeigniter上

请帮帮我。

谢谢

2 个答案:

答案 0 :(得分:0)

这听起来像是疯狂。由于各种原因,页面重定向旨在将用户转移到站点的不同部分。它们永远不应该被用作迭代的手段。这就是循环的目的。

另一种可能性是,脚本中的header命令没有包装在任何条件中,然后重定向到自身(或重定向的其他脚本)。

答案 1 :(得分:0)

我想你想要这样的东西(见下面的代码)。您使用HTTP标头执行的操作毫无意义。

$url = 'http://myfunction.com/index.php/test/mytestfunction';
$ch = curl_init($url . '?' . http_build_query(array(
    'days' => 60,
    'start' => $start,
    'end' => $end,
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$response = curl_exec($ch);
curl_close($ch);