我有2个网站变体(例如A和B)。 它们存储在服务器上的/ a /和/ b/。
在我的主页(/index.html)上,我希望为用户提供选择(主要是按钮)来访问哪个变体的选项。
然后,我想将该变体设置为用户的默认变体,因此,下次用户尝试访问index.html时,他/她将被重定向到上次访问的变体。
两个变体都将具有切换开关,以切换到另一个。因此,如果用户切换到另一用户(例如,A中的B),我想将新用户(B)设置为默认用户,以便下次他/她将用户重定向到新用户(B)访问/index.html。
重定向应该只在/index.html页面上有效,因此,如果用户通过直接输入URL访问特定于变体的网页,则不会被重定向。但是,应该更改首选项,即,如果用户上次访问变体A,而现在使用了变体B的URL,则他/她下次访问/index.html时,应将其重定向到B
我说cookie和JavaScript可以帮助我实现这一目标。
有人可以告诉我是否以及如何实现这一目标吗?
答案 0 :(得分:0)
不确定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>