【问题标题】:PHP header location redirect doesn't work on iPhonePHP 标头位置重定向在 iPhone 上不起作用
【发布时间】:2014-11-19 18:17:19
【问题描述】:

我有一个 PHP 脚本,它应该在执行一些代码后重定向到动态后备 URL。我使用它将用户重定向到特定的 URL,即在成功登录后。代码是:

header('Location: '. rawurldecode('/index.php?'));

此代码在所有 3 种主要浏览器上都运行良好,但是,标头位置在 iPhone 上根本无法运行。我已经在 Safari 和 iOS 版 Chrome 上进行了测试:两者都不起作用。

我也尝试过硬编码全长 URL,但没有成功。

header("Location: http://google.com/");

编辑

我尝试在重定向语句中输入域。这似乎解决了移动浏览器上的问题,但现在在桌面浏览器上中断了......

   header('Location: http:' . $_SERVER[HTTP_HOST]. rawurldecode($_GET['redirect']));  

【问题讨论】:

  • 只是为了更正它的 header("Location: google.com/"); 而不是 Header("Location: google.com/");对
  • justrohu,没错。原来我的配置 PHP 都接受了。
  • 嗨,感谢您的更新,我不知道。

标签: php ios redirect safari header


【解决方案1】:

你可以试试javascript重定向页面的方式:

例子:

    echo '<script>window.location = "'.$url.'";</script>';
    die;

这可能会有所帮助...!!

【讨论】:

  • 谢谢,使用 JavaScript 效果很好。唯一的缺点是重定向仅在加载正文后发生,因此前一页仍然可见一秒钟左右。还有,模具;您提到的语句对于阻止页面上其他脚本的执行很重要。
  • 很高兴知道它对您的工作,很乐意为您提供帮助...... :)
  • stackoverflow.com/questions/12525251/… 这也可以是其他解决方案
【解决方案2】:

如果你重新加载当前页面,试试这个。

echo '<script>location.reload();</script>';

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    相关资源
    最近更新 更多