我的主页有 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,但在返回站点时,我遇到了一个重定向循环。
1 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
你有一个重定向循环原因:
我导航到第 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; }
并且它不会在无限循环中重定向
- 1 回答
- 0 关注
- 150 浏览
添加回答
举报
0/150
提交
取消