允许用户将子域存储为首选页面

时间:2013-10-26 12:14:14

标签: php html css subdomain redirectwithcookies

我有一个网站,我将其称为example.com。此网站有几个子域名a.example.com,b.example.com,c.example.com等。我想允许域的访问者选择特定的子域作为首选页面。从此时用户访问该页面时,它们将自动重定向到其首选页面。

我不知道如何做到这一点甚至在哪里看。

3 个答案:

答案 0 :(得分:1)

首先,用户是否已注册并登录,或者您是否通过其IP地址识别它们?

已注册并登录: 将用户ID,电子邮件或其他任何用作主键(希望ID)的数据记录在另一个表中的数据库中,并在选择其首选项时使用其首选子域。

未注册/登录: 在表格中记录他们的IP地址及其子域名选择。

基本表结构可以是

id - ip_address(或user_id) - 子域名

然后执行if语句检查数据库的IP或用户ID。

<?
    /* 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');
?>

这只是一种策略,可能是最基本的策略。显然你必须编写代码(我假设你知道如何做这个并想要策略,否则请查看教程而不是在这里询问),并确保在绝对任何输出生成之前调用头(即在你的文件的顶部)。

如果找不到偏好,他们就会留在那个页面上。

写这篇文章时半睡半醒,如果有任何信息不完整或不可理解,我会道歉。

答案 1 :(得分:0)

嗯,你需要

a)存储首选项的位置,例如在cookie中(使用PHPJavascript)或在数据库中(如果用户已登录)

b)用户可以设置首选项的页面

c)将用户重定向到其首选网站的一些脚本(例如使用PHP中的标题功能)

答案 2 :(得分:0)

在页面上添加子域 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