我有一个网站,我将其称为example.com。此网站有几个子域名a.example.com,b.example.com,c.example.com等。我想允许域的访问者选择特定的子域作为首选页面。从此时用户访问该页面时,它们将自动重定向到其首选页面。
我不知道如何做到这一点甚至在哪里看。
答案 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中(使用PHP或Javascript)或在数据库中(如果用户已登录)
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 。