Разрешить пользователю сохранять поддомен в качестве предпочтительной страницы
У меня есть веб-сайт, который я назову example.com. Этот сайт имеет несколько поддоменов a.example.com, b.example.com, c.example.com и так далее. Я хочу разрешить посетителям домена выбрать определенный поддомен в качестве предпочтительной страницы. С этого момента, когда пользователь заходит на страницу, он автоматически перенаправляется на предпочитаемую им страницу.
Я понятия не имею, как это сделать или даже где искать.
3 ответа
Во-первых, пользователи зарегистрированы и вошли в систему или вы идентифицируете их по их IP-адресу?
Зарегистрировано и зарегистрировано: зарегистрируйте свой идентификатор пользователя, адрес электронной почты или что-либо, что вы используете в качестве первичного ключа (возможно, идентификатора) в базе данных, в другой таблице со своим предпочитаемым поддоменом, когда они выбирают свои предпочтения.
Не зарегистрирован / не вошел в систему: Зарегистрируйте свой IP-адрес и выбор субдомена в таблице.
Базовая структура таблицы может быть
id - ip_address(или user_id) - поддомен
Затем выполните оператор if, проверяя в базе данных их IP-адрес или идентификатор пользователя.
<?
/* database checking code, etc, assuming we're returning $result from the query */
$subdomain = @mysql_result($result,0,'subdomain');
if($subdomain != '') header('Location: '.$subdomain.'.yourdomain.com');
?>
Это только одна стратегия, и, возможно, самая основная. Очевидно, вам придется написать код (я предполагаю, что вы знаете, как это сделать и хотите стратегию, в противном случае, пожалуйста, посмотрите учебники вместо того, чтобы спрашивать здесь), и убедитесь, что заголовок вызывается до того, как будет сгенерирован абсолютно любой вывод (т.е. в верхней части вашего файла).
Если не удается найти предпочтения, они просто остаются на этой странице.
Полусонный, когда пишу это, поэтому я прошу прощения, если какая-либо информация является неполной или непонятной.
Добавьте URL субдомена на страницу (settings.php), как показано ниже:
<a href="choose.php?sub=abc">Choose ABC Subdomain</a><br/>
<a href="choose.php?sub=bbc">Choose BBC Subdomain</a><br/>
<a href="choose.php?sub=subin">Choose subin Subdomain</a>
Choose.php:
<?
if($_GET['sub']!=''){
$sub=$_GET['sub'];
setcookie("subwhere",$sub, time()+301014600, "/", "example.com"));
header("Location:http://$sub.example.com");
}
?>
и в index.php включите файл checkredirection.php вверху страницы:
<?
include("checkredirection.php");
?>
checkredirection.php:
<?
$coo=$_COOKIE['subwhere'];
if($coo!="" && $_SERVER['SERVER_NAME']!="$coo.example.com"){
header("Location:http://$coo.example.com");
}
?>
Включите файл checkredirection.php на страницах, которые вы хотите перенаправить пользователю.
Ну нужно
а) место для сохранения предпочтения, например, в cookie (с использованием PHP или Javascript) или в базе данных (если пользователи вошли в систему)
б) страница, где пользователи могут установить там предпочтения
c) некоторый скрипт, который перенаправляет пользователя на его предпочтительный сайт (например, используя функцию заголовка в PHP)