【发布时间】:2019-01-27 09:31:08
【问题描述】:
我希望当访问者访问我的网站时,它会检查该网站 cookie 之前是否保存在他的浏览器中。如果之前没有保存,则将保存新的cookie。然后,如果他将访问主页,他将被重定向到保存在他的浏览器 cookie 中的页面。为此,我在任何页面中使用此代码:
$exlink = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
if(!isset($_COOKIE['saveexperice'])){
setcookie('saveexperice', $exlink, time()+60*60*24*30, '/');
}
并在主页中使用此代码:
if($_COOKIE['saveexperice']){
$exlinkr = $_COOKIE['saveexperice'];
header('Location: ' . $exlinkr);
}
一切正常。但问题是它只适用于根目录。不工作任何子目录,例如 domain.com/subfolder。 访问者访问时会在此处制作cookie,但如果他访问主页,则不会重定向子文件夹。如果我访问根目录的任何页面,例如 domian.com/about.php,cookie 将被保存并返回我的主页,它会将我重定向到我保存的 cookie 页面,即 domain.com/about.php。 我希望它需要在子文件夹页面中工作。 我该怎么做?
【问题讨论】:
-
因为您只是在设置 cookie if 它还没有根据您的代码设置。
if(!isset($_COOKIE['saveexperice'])) { -
是的,我用过,只有在没有设置 cookie 的情况下才需要设置 cookie,现在 cookie 没有问题,现在问题是我不能从 sub 使用 cookie 主域(根目录)目录。
-
现在我有解决方案github.com/hmbashar/…