FireFox 3.6 for Mac无法正确读取cookie /重定向

时间:2010-03-02 22:09:22

标签: php firefox redirect cookies

我的website有一个漂亮的基于cookie的小主页重定向方案。基本上,当用户第一次浏览网站时,他们会看到两个选项(产品与加工服务)。当用户单击两个按钮之一时,JavaScript函数会存储具有适当选择的cookie(“产品”或“加工”)。此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将被清除,准备好进行新的选择。如果你问我,这是有史以来最聪明的代码! ;)

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

那么FireFox发生了什么?我认为它必须是某种类型的FireFox错误,因为PHP是基于服务器的语言,并且或多或少与浏览器无关。

-HazMatt

1 个答案:

答案 0 :(得分:0)

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