Разрешить пользователю сохранять поддомен в качестве предпочтительной страницы

У меня есть веб-сайт, который я назову 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)

Другие вопросы по тегам