PHP博客二级域名的实现 最近需要做个PHP博客,需要二级域名的方式显示个人BLOG地址的。比如我注册了个user账号,那么我的博客网址就是http://user.baidu.com/请问这种技术事怎么实现的? 我暂时一头蒙~ 希望大家给小弟解答!(我接触PHP时间不长,希望各位说的详细一下) 谢谢~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要给域名增加一个泛解析,也就是把xxxx.baidu.com就指向一个IP,然后程序判断主机头来确定访问的是那个BLOG空间。如果不懂可以google一下"泛解析" 泛解析1:方法一,较难,使用rewrite,映射2:方法二:使用程序获取HTTP_HOST 剖析www.test.com 得到www,然后根据这个www做指定的事,前提是你程序架构要好,改起来才容易. 感谢各位的回答!明白了!还有就是要是做成www.baidu.com/username/ 其中username是个人博客账号,方法是给每个人都建立一个属于自己账号的文件吗?还是别的呢? 这就要看你都提供了什么功能了一般的如果附件和图片多的话,应该是一个用户一个目录否则username只作为参数传递 泛解析。代码就差不多是: $domainhold = array_merge(explode(' ',strtolower($CONFIG['domainhold'])),array('www','admin')); $CONFIG['ckdomain']=strtolower($CONFIG['ckdomain']); $HTTP_HOST=str_replace(":".$_SERVER['SERVER_PORT'],"",$_SERVER['HTTP_HOST']); !$CONFIG['ckdomain'] && $CONFIG['ckdomain'] = strtolower(substr($HTTP_HOST,strpos($HTTP_HOST,'.'))); $site = str_replace($CONFIG['ckdomain'],"",strtolower($HTTP_HOST)); !$site && $site = strtolower(substr($HTTP_HOST,0,strpos($HTTP_HOST,'.'))); if($site=="admin"){ ObHeader("{$CONFIG[ServerName]}/admin.php"); }else{ if(!in_array($site,$domainhold)){ $childsite_inc=R_P."data/inc/childsite.php"; if(file_exists($childsite_inc))require_once($childsite_inc); if($ChildSite[$site]){ require_once(R_P."site.php");exit; }else{ ObHeader("{$CONFIG[ServerName]}"); } } } username.baidu.com/需要泛解析。www.baidu.com/username/也需要泛解析吗? 楼上差不多都提到需要用到的技术,我建议参考优秀开源系统的实现,比如Wordpress.Wordpress3.0已经集成了原来的WordPress Mu www.baidu.com/username/不需要泛解析,需要制定rewrite规则 所谓“泛域名解析”是指:利用通配符 * (星号)来做次级域名以实现所有的次级域名均指向同一IP地址。 例如您的域名是abc.cn: 做一个*.abc.cn的次级域名A记录指向222.222.222.222,那么生效后当访问者无论是输入“123.abc.cn”还是“123.123.abc.cn”甚至可以是“!@#.$%$.6543.ww.a.abc.cn”这样的 任意字符 均可以指向到222.222.222.222这个IP地址。 你应该知道真相,它会让你自由!程序员T恤 吐血了,提个PHP写XML的问题 php js控制别的电脑弹出页面的问题 谁有 zend framework+smarty实例源码啊 求教高手iis下的伪静态配置转成Apache的伪静态配置? 求大神一个简单的正则去除 遇到个问题,关于中文站英文站切换不重新登陆的 IIS6 开机报错“CGI / FastCGI 遇到了一个问题,需要关闭。” Coreseek 索引源出错 PHP银联手机在线支付 最土团购网模板如何在<body></body>区域内加一行代码,PHP懂的太少了,请高手指教 帝国CMS达人进,解决E路径的问题
1:方法一,较难,使用rewrite,映射
2:方法二:使用程序获取HTTP_HOST 剖析www.test.com 得到www,然后根据这个www做指定的事,前提是你程序架构要好,改起来才容易.
一般的如果附件和图片多的话,应该是一个用户一个目录
否则username只作为参数传递
代码就差不多是: $domainhold = array_merge(explode(' ',strtolower($CONFIG['domainhold'])),array('www','admin'));
$CONFIG['ckdomain']=strtolower($CONFIG['ckdomain']);
$HTTP_HOST=str_replace(":".$_SERVER['SERVER_PORT'],"",$_SERVER['HTTP_HOST']);
!$CONFIG['ckdomain'] && $CONFIG['ckdomain'] = strtolower(substr($HTTP_HOST,strpos($HTTP_HOST,'.')));
$site = str_replace($CONFIG['ckdomain'],"",strtolower($HTTP_HOST));
!$site && $site = strtolower(substr($HTTP_HOST,0,strpos($HTTP_HOST,'.')));
if($site=="admin"){
ObHeader("{$CONFIG[ServerName]}/admin.php");
}else{
if(!in_array($site,$domainhold)){
$childsite_inc=R_P."data/inc/childsite.php";
if(file_exists($childsite_inc))require_once($childsite_inc);
if($ChildSite[$site]){
require_once(R_P."site.php");exit;
}else{
ObHeader("{$CONFIG[ServerName]}");
}
}
}
Wordpress3.0已经集成了原来的WordPress Mu
例如您的域名是abc.cn:
做一个*.abc.cn的次级域名A记录指向222.222.222.222,那么生效后当访问者无论是输入“123.abc.cn”还是“123.123.abc.cn”甚至可以是“!@#.$%$.6543.ww.a.abc.cn”这样的 任意字符 均可以指向到222.222.222.222这个IP地址。