Как я могу перенаправить пользователей на другой вариант сайта в зависимости от последнего использованного варианта? - PullRequest
0 голосов
/ 18 мая 2019

У меня есть 2 варианта моего сайта (скажем, A & B).Они хранятся на сервере по адресу / a / & /b/.

. На моей домашней странице (/index.html) я хочу дать пользователям возможность выбрать (в основном кнопку), какой вариант посетить..

Затем я хочу установить этот вариант как вариант по умолчанию для пользователя, поэтому в следующий раз, когда пользователь попытается посетить index.html, он / она будет перенаправлен на последний посещенный вариант.

Оба варианта будут иметь переключатели для переключения на другой.Итак, если пользователь переключается на другого (скажем, B от A), я бы хотел установить новый (B) в качестве значения по умолчанию, чтобы пользователь был перенаправлен на новый (B) в следующий раз, когда он / онапосещения /index.html.

Перенаправления должны работать только на странице /index.html, поэтому, если пользователи посещают веб-страницу, относящуюся к варианту, непосредственно набрав URL, они не перенаправляются.Однако предпочтения должны быть изменены, т. Е. Если в последний раз пользователь посещал вариант A и теперь использовал URL-адрес варианта B, то в следующий раз, когда он / она посетит /index.html, его / ее следует перенаправить на B.

Я делаю дикое предположение, говоря, что куки и JavaScript могут помочь мне достичь этого.

Может кто-нибудь сказать мне, если и как я могу этого достичь?

1 Ответ

0 голосов
/ 20 мая 2019

Не уверен насчет 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 загружается в браузер впервые, он устанавливает cookie с именем chosen_variant и значением a, срок действия которого истекает через 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...