我如何设置跟踪 cookie,以便将回访者定向到他们在首次访问时选择的页面?

我的主页有 4 个链接到不同的子页面(page-1、page-2 等),当访问者选择一个页面(即 /page-1/)时,我希望他们被直接路由到他们的那个页面回访网站。我正在尝试使用 cookie 来存储所选页面并在返回时检查 cookie 以重定向到先前选择的 URL。


function set_pref_cookie(){


    $root = $_SERVER['REQUEST_URI'];


    if ($root !='/'){

        setcookie('pref_sel',$root, time()+60*60*24*5, "/");

    }


    if (isset($_COOKIE['pref_sel'])){

        header('Location:' .  $_COOKIE['pref_sel']);

        exit;

    }

}


add_action('init','set_pref_cookie');

这适用于设置 cookie,但在返回站点时,我遇到了一个重定向循环。


白衣染霜花
浏览 122回答 1
1回答

摇曳的蔷薇

你有一个重定向循环原因:我导航到第 1 页你把 cookie 放到 page-1你将我重定向到第 1 页你把 cookie 放到 page-1你将我重定向到第 1 页等等 ..在重定向之前,只需检查我是否已经在正确的页面上 :)只是改变这个:if (isset($_COOKIE['pref_sel'])){         header('Location:' .  $_COOKIE['pref_sel']);                exit;     }对此:if (isset($_COOKIE['pref_sel']) && $_COOKIE['pref_sel'] != $root){         header('Location:' .  $_COOKIE['pref_sel']);               exit;     }并且它不会在无限循环中重定向
打开App,查看更多内容
随时随地看视频慕课网APP