我的网站有两个变体(比如说,A和B)。它们存储在服务器上的/a/ & /b/中。
在我的主页(/index.html)上,我想让用户选择(主要是一个按钮)要访问的变体。
然后,我想将该变量设置为用户的默认变量,因此,下次用户尝试访问index.html时,他/她将被重定向到上次访问的变量。
这两个变种都需要切换到另一个。因此,如果用户切换到另一个(比如从A切换到B),我想将新的(B)设置为默认值,这样用户下次访问/index.html时就会被重定向到新的(B)。
重定向应该只在/index.html页面上起作用,所以如果用户通过直接输入URL访问不同的特定网页,他们不会被重定向。然而,偏好应该改变,也就是说,如果用户上一次访问了变体A,现在使用了变体B的网址,那么下次他/她访问/index.html时,他/她应该被重定向到B。
我说cookies和JavaScript可以帮助我实现这一点,这是在胡乱猜测。
有没有人能告诉我,我能不能做到这一点?
发布于 2019-05-20 20:21:09
不确定JavaScript,但是,我是通过PHP实现的:
在/a/中,我创建了一个index.php文件。它包含以下代码:
<?php
setcookie("chosen_variant","a",time()+86400*365,"/","domain.tld",1);
?>
<html>
...
</html>setcookie()函数具有以下参数:
"chosen_variant"是cookie的名称,"a"是值,time()+86400*365表示它的有效期为365天,"/"表示它对整个域名有效,"domain.tld"表示它对domain.tld的所有子域名有效,"1"表示它只在安全连接上传输。
因此,当/a/index.php第一次加载到浏览器中时,它会设置一个名为chosen_variant、值为a的cookie,该cookie将在365天后过期,它对我的整个域和所有子域都有效,并且只在安全连接上传输。
然后,我在/b/中做了同样的事情。
然后,我用下面的代码在我的网站根目录下创建了一个index.php文件:
<?php
if($_COOKIE['chosen_variant'] == "a")
{header("Location: /a/index.php");}
elseif($_COOKIE['chosen_variant'] == "b")
{header("Location: /b/index.php");}
else
{}
?>
<html>
...
</html>https://stackoverflow.com/questions/56199541
复制相似问题