我的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