【问题标题】:FireFox 3.6 for Mac not reading cookie / redirecting properlyMac 版 FireFox 3.6 无法正确读取 cookie/重定向
【发布时间】:2010-03-02 22:09:22
【问题描述】:

我的website 有一个漂亮的基于 cookie 的主页重定向方案。基本上,当用户第一次浏览网站时,他们会看到两个选择(产品与加工服务)。当用户点击两个按钮中的一个时,JavaScript函数将饼干存储有适当的选择(“产品”或“加工”)。此 cookie 设置为存储 365 天。

然后,当用户下次访问网站的根级别 (/) 时,以下 PHP 代码会将他们重定向到正确的页面:

<?php

//  Pull last home page choice
$home_page_choice = $_COOKIE["HomePageChoice"];
if ($home_page_choice == "products") {
//  Redirect user to Products page
    header("Location: products/index.php");
    exit();
} else if ($home_page_choice == "machining") {
    //  Redirect user to Machining Services page
    header("Location: machining/index.php");
    exit();
} else {
    //  Redirect user to first-time user home page (where user can choose where to go)
    header("Location: home/index.php");
    exit();
}

?>

如果用户碰巧点击返回站点主页,该 cookie 将被清除,准备好做出新的选择。如果你问我,这是有史以来最聪明的代码! ;)

问题是,Mac 版 FireFox(3.6 版)似乎没有正确重定向(意味着它只是转到最后一个“else”页面或“home/index.php”;适用于 Windows 的 FireFox 3.6 有效,两个平台上的 IE 8 和 Safari 也是如此。我知道 FireFox 可以读取 cookie;我已经使用“echo $home_page_choice;”对其进行了测试。

那么,FireFox 是怎么回事?我认为它一定是某种 FireFox 错误,因为 PHP 是一种基于服务器的语言,并且或多或少独立于浏览器。

-HazMatt

【问题讨论】:

    标签: php firefox redirect cookies


    【解决方案1】:

    您必须(根据 rfc)在位置标头中提供完整的 url(即使用“http://host/”)。我不知道这是否能解决您的问题,但无论如何都值得修复。

    【讨论】:

    • 感谢您的提示;我确实更新了 PHP 代码以包含所有三个链接的完整绝对 URL,但是,它并没有解决 FireFox 特定的问题。
    猜你喜欢
    • 2018-05-27
    • 2017-06-22
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多