【问题标题】:Hyperlinks stop working in firefox after redirect?重定向后超链接在Firefox中停止工作?
【发布时间】:2010-10-06 06:46:29
【问题描述】:

在我正在进行的项目中,我使用 HTTP 标头在成功登录后将用户重定向到首页;

header("Location: http://example.com/index.php?");
exit(0);

编辑:在 url 中添加问号以显示问题

这在所有经过测试的浏览器中都可以正常工作 - 但是,在 Windows、mac 和 debian 上的 Firefox 3.0.6 中,它无法正确设置超链接。每个超链接都指向重定向指向的同一个 URL,完全忽略了“href”属性。刷新页面无济于事 - 我必须手动重新输入 URL 并按 Enter 以使超链接重新开始工作。

我在 IE6、IE7、Opera 和 Safari 中都试过了,效果很好。我假设我实现重定向的方式有问题,有人能指出我正确的方向吗?

【问题讨论】:

  • 您是否也设置了 HTTP 301/302 状态?
  • 我没有手动设置,没有。但根据 php 手册,这应该是自动完成的 (se2.php.net/header)
  • 它是你的脚本输出的第一个字符串吗?
  • 是的,在 header() 调用之前没有打印任何其他内容,之后直接停止执行。
  • 您是否使用 HTML 元素 BASE 设置了基本 URL?或者您是否使用了一些可能导致此行为的扩展?

标签: php firefox redirect hyperlink


【解决方案1】:

解决方案似乎是这样的: 我无法重定向到以问号结尾的 url,如果这样做,就会出现此问题。在我看来,这不是 FF3 的预期行为,但我不知道 HTTP 规范是否足以说明是否是这种情况。

无论哪种方式,通过从重定向网址中删除问号解决了问题。

【讨论】:

    猜你喜欢
    • 2013-10-09
    • 2021-12-06
    • 2014-12-15
    • 2015-12-28
    • 2014-04-21
    • 1970-01-01
    • 2021-09-11
    • 2017-03-11
    • 1970-01-01
    相关资源
    最近更新 更多