【问题标题】:Disable Redirect Loop禁用重定向循环
【发布时间】:2011-11-06 01:13:11
【问题描述】:

有什么方法可以禁用错误 310(重定向循环)检查,或者有没有没有这个检查功能的浏览器(可能是旧的)?

我需要它用于我编写的一个 php 脚本,该脚本使用 file_get_contents 检查文件,它通过我传递给它的 id 知道它是什么文件,然后它重定向到具有不同 id 的同一页面。

谢谢!

【问题讨论】:

  • 当你重定向这么多次时应该会出现错误,而不仅仅是几次。
  • 这听起来像是应该在命令行而不是浏览器中运行的那种脚本。
  • 我将如何在终端中运行它,我会使用 python 吗?
  • 您可以在命令行中运行 PHP。在 unix 机器上,运行 php -a 进入交互式 shell,或运行 php -f /path/to/file.php 运行特定文件。

标签: php redirect-loop


【解决方案1】:

不要使用header("Location: ...");,试试这个:

die('<script type="text/javascript">location.href = "'.$new_location.'";</script>');

这将绕过重定向循环错误。

编辑:更好:

die('Some progress information here...
     <script type="text/javascript">
          setTimeout(function() {location.href = "'.$new_location.'"},50);
     </script>');

这样可以显示一些进度信息。

【讨论】:

  • 它只是工作!!!!!!伟大的!所以,解释一下,我正在为 Facebook 构建一个应用程序,我需要这个脚本来处理我的应用程序中非常重要的事情。准备好后,我一定会在致谢中提及您的帮助。谢谢!!
  • 现在下一个问题......当我收到一个有效的对象时,它会存储在数据库中并且可以,但是它会抛出一个无效的 id。 ------- 所以它是这样的,我做了一个 $_GET 来接收 id,然后它加 1,所以 $newid = $_GET['id'] + 1,但不是做我想象的那样返回如下值:------如果我输入它处理的 id=112838412062991,它是有效的并将数据保存到我的数据库中,但是在下一个 id 上,它返回:1.1283841206299E+14。并且它将新 id 理解为十进制数。
  • 显然,数字太大了。如果您知道什么对您有好处,请保持在 2^32 以下。或者使用像 BC Math 这样的扩展。
  • 再次感谢您!!我做到了:$newid = bcadd($_GET['id'], 1, 0);
猜你喜欢
  • 2017-02-11
  • 2013-07-28
  • 2015-03-21
  • 2017-05-17
  • 2015-08-31
  • 2014-01-05
  • 2013-07-10
  • 2013-05-18
  • 1970-01-01
相关资源
最近更新 更多