【问题标题】:Bypass chrome "this website has a redirect loop" error?绕过chrome“这个网站有一个重定向循环”错误?
【发布时间】:2014-07-31 16:01:53
【问题描述】:

我正在尝试在我的数据库中开发某种自动插入系统,为了使其正常工作,我需要重定向回同一页面大约 2400 次。此页面仅供一次性使用,在它编辑了我的数据库的每一行后,我打算将其删除。

我想知道是否有人知道如何禁用或绕过 Google Chrome 的“此网站存在重定向循环”错误页面。我知道有一个重定向循环,它是设计的(因为我想不出任何其他方法来做到这一点)。

这是目前的代码:

<?php
include "db/connect.php";
include "db/select.php";
include "functions/getStatics.php";
error_reporting(E_ALL | E_WARNING | E_NOTICE);

if(isset($_GET['pos'])) {
    $id = $_GET['pos'];
} else {
    $id = 1;
}

$all = dbSelect("SELECT * FROM wh_systems WHERE id = $id");



$name = $all[0]->name;
$id = $all[0]->id;
$statics = getStatics($name);

echo $name.' - '.$id.' - '.$statics;

$sql = "UPDATE wh_systems
        SET statics='$statics'
        WHERE id=$id";

$update = $db->query($sql);
$location = "?pos=".($id+1);
header("Location: " . "http://" .$_SERVER['HTTP_HOST'].'/'. $_SERVER['PHP_SELF'] . $location);

当我运行它时,只有大约 22 行(或 22 次重定向),页面才会停止并吐出错误。

如果您知道此问题的任何解决方法,请告诉我,

谢谢。

【问题讨论】:

  • 没有理由继续重新加载页面。您应该运行您的 select 语句以获取您想要处理的所有结果,然后为您要更新的每个 $id 执行一段时间或 for 循环该结果集。
  • 最简单的答案是:不要这样做。您基本上是在重新设计带有重定向的 for 循环。
  • 所以基本上是这样的? stackoverflow.com/questions/24135485/… 试过了,更新了~20次页面就超时了。

标签: php google-chrome redirect


【解决方案1】:

这可能有效:

<?php
echo '<meta http-equiv="refresh" content="0; url=http://' .$_SERVER['HTTP_HOST'].'/'. $_SERVER['PHP_SELF'] . $location.'">';
?>

【讨论】:

  • 完美 - 我知道它不是一个理想的解决方案,但它完全符合我的要求。
猜你喜欢
  • 2013-05-25
  • 2014-12-27
  • 2013-12-22
  • 2013-11-06
  • 2013-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多