澳门新浦京8455com如何开发一个虚拟域名系统_php基础_脚本之家

若是协和的服务器也能够贯彻简记域名就好了。其实那并不复杂。你也得以做八个简记域名系统。

大家在行使诸如yourname.yeah.net那样的简记域名时都深感非常有益于,有为数不菲人在想:作者借使能让和煦的服务器也能够落到实处简记域名就好了。其实那并不复杂。看完了本文,你也足以做三个简记域名系统。
简记域名系统的关键才具在于:实现Web页面包车型大巴重定向。在真相上,简记域名系统和虚构机系统完全不一致。虚构机的假造域名和IP是存在一一对应涉及的。而简记域名系统无需将域名和IP做一一映射。相当于说,它根本无需复杂的域名剖析机制和虚构机来完毕,它所做的事情便是当你在诉求yourname.somedomain时,将你的浏览重视新定向到您当然存放Html页面包车型大巴地点。
为了求证的更周到,上面图例: 小编提供的源程序是运作条件是:RedHat 5.1
Linux下的Apache1.3.6 Web服务器+PHP3语言。
在编写程序以前,我们先是要安装好我们的服务器。首先要让Apache服务器援助php3。到ftp.redhat.com下载mod_php-2.0.1-9.i386.rpm,安装后,修改/etc/httpd/conf/http.conf文件,去掉#LoadModule
php3_澳门新浦京8455com,module一句后面包车型地铁#注释号,同样在/etc/httpd/conf/srm.conf文件里去掉#AddType
application/x-httpd-php3
.php3前边的注释号,同有的时候间在DirectoryIndex一项后增加index.php3。重新起动Apache
Server,那时候服务器就协助标准的php3语言脚本文件了并能将index.php3作为私下认可的首页。
设置DNS服务器,使其能对泛域名深入解析。日常的Unix和Linux系统的DNS解析都以由Bind守护程序达成的,Bind4和Bind8的安顿文件分别/etc/named.boot和name.conf,配置时依照你的种类改正。设置Bind的布署文件/etc/named.boot,在里头参加“primary
domain.com db.domain”一句,增加四个新的域记录。在/etc/name.conf中参加:
zone “domain.com” { type master; file “db.domain”; };
在/var/name/中新建主域记录文件db.domain,其格式为: N SOA dns.domain.com
root.domain.com ( 199711291 ;Serial 28800 ;refresh 7200 ;retry 604800
;expire 86400卡塔尔(قطر‎ ;minimum dns MX 10 dns.domain.com. dns A 202.115.135.50
www A 202.115.135.50 * A 202.115.135.50
关键是最终一句,将在整个域或者现身未做标志的兼具Hostname全体针对性同一IP。
执行/usr/sbin/ndc
reload,重新加载域名数据库。测验一下,那个时候应当随意ping三个domain域内的主机,都指向了内定的IP,那么DNS服务器设置完结。
最后一步是编写制定PHP3脚本。我们刚刚已经在图中详尽的认证了全体的原理,所以写一个重复定向的顺序就不是很难了。
让大家来看八个由IE5.0送出的一体化HTTP头消息: Accept:
application/vnd.ms-excel, application/msword,
application/vnd.ms-powerpoint, image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, */* Accept-Encoding: gzip, deflate Accept-Language: zh-cn
Connection: Keep-Alive Host:ww.yahoo.com User-Agent: Mozilla/4.0
(compatible; MSIE 5.0b1; Windows 98卡塔尔国大家必要在整整HTTP头消息中收取Host新闻,然后将
检索到顾客注册的UCR-VL新闻后,大家给客户浏览器送叁个重定向命令“Localtion:

在PHP3中,有函数GetAllHeader(),得到浏览器送出的HTTP头音信。大家首要须要利用此函数来成功全套程序。
后边附有源程序,由于只是尝试性质的,所以在查询客商新闻时,未有接纳数据库,借使全勤系统要实在使用的话,必须要和数据库挂接起来,不然查询顾客音信的进度将是这些漫漫,大大影响成效,何况客商数量的田间管理也不低价。(由于篇幅限定,未有付诸注册和管理所需的写记录程序,请自行增多)
在源程序中,全部客商新闻记录在data子目录下user.dat文件中。其格式为:
username: 附PHP3源程序:
//Get HTTP’s Header and parse it// $headers = getallheaders(); while =
each { if($header==”Host”){$username= strtok;}} //Jump out the Banner’s
Window// echo ‘

简记域名系统的关键技艺在于:完毕Web页面包车型客车重定向。在精气神上,简记域名系统和设想机系统完全两样。虚构机的诬捏域名和IP是存在一一对应涉及的。而简记域名系统无需将域名和IP做一一映射。也正是说,它根本无需复杂的域名深入解析机制和设想机来产生,它所做的职业便是当你在诉求yourname.somedomain时,将您的浏览注重新定向到你当然寄放Html页面包车型大巴地方。

‘; // seek the user information from the recorded file//
if(!$usrinfo=file(“data/user.dat”)){echo “Open Data File Error!!”;}
$url=”http://”; for($i=0;$i

本程序运维条件是:RedHat 5.1 Linux下的Apache1.3.6
Web服务器+PHP3语言。在编写程序在此之前,大家首先要安装好我们的服务器。首先要让Apache服务器扶助php3。到ftp.redhat.com下载mod_php-2.0.1-9.i386.rpm,安装后,修改/etc/文件,去掉#LoadModule
php3_module一句后边的#注释号,同样在/etc/文件里去掉#AddType
application/x-
.php3前面包车型大巴注释号,同期在DirectoryIndex一项后增多index.php3。重新开动Apache
Server,那时候服务器就支持标准的php3语言脚本文件了并能将index.php3作为默许的首页。

安装DNS服务器,使其能对泛域名解析。平日的Unix和Linux系统的DNS拆解解析都以由Bind守护程序完成的,Bind4和Bind8的配备文件分别/etc/named.boot和name.conf,配置时依照你的系统修正。设置Bind的构造文件/etc/named.boot,在内部参预“primary
domain.com db.domain”一句,增添二个新的域记录。在/etc/name.conf中步向:

zone “domain.com” {

type master;

file “db.domain”; };

在/var/name/中新建主域记录文件db.domain,其格式为:

N SOA dns.domain.com root.domain.com (

199811291 ;Serial

28800 ;refresh

7200 ;retry

604800 ;expire

86400) ;minimum

dns

MX 10 dns.domain.com.

dns A 202.115.135.50

www A 202.115.135.50

* A 202.115.135.50

第一是最后一句,就要整个域恐怕现身未做标识的具备Hostname全体针对同一IP。
实践/usr/sbin/ndc
reload,重新加载域名数据库。测验一下,那时理应随意ping二个domain域内的主机,都指向了点名的IP,那么DNS服务器设置完毕。

终极一步是编写制定PHP3脚本。大家刚刚已经在图中详细的验证了全部的准绳,所以写贰个重新定向的程序就不是很难了。

让大家来看叁个由IE5.0送出的完全HTTP头消息:

Accept: application/vnd.ms-excel, application/msword,
application/vnd.ms-powerpoint,image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, */*

Accept-Encoding: gzip, deflate

Accept-Language: zh-cn

Connection: Keep-Alive

Host:ww.yahoo.com

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0b1; Windows 98)

我们要求在全方位HTTP头音信中抽取Host新闻,然后将格局的第一有的“www”,即HostName单独抽出,作为重定向检索的关键字。

追寻到顾客注册的ULX570L音信后,大家给顾客浏览器送三个重定向命令“Localtion:
”,将顾客重定向到钦定页面。

在PHP3中,有函数GetAllHeader,获得浏览器送出的HTTP头音讯。大家首要必要利用此函数来成功总体程序。

前面附有源程序,由于只是尝试性质的,所以在询问客户新闻时,没有利用数据库,如果全勤体系要实在利用的话,一定要和数据库挂接起来,不然查询客商消息的经过将是非常时期久远,大大影响功能,而且客商数量的田间管理也不便利。

在源程序中,全部客商消息记录在data子目录下user.dat文件中。其格式为:

username:

~qap213/index.html

附PHP3源程序:

?

//Get HTTP’s Header and parse it//

= getallheaders(); ‘ while (list(, ) = each()) {

if(==”Host”){= strtok(,”.”);}}

//Jump out the Banner’s Window//

echo ‘script language=”JavaScript”‘,

‘msg=window.open(“banner.htm”,”sample”,

“toolbar=no”,”directories=no”,directories=no”,”menubar=no”);’,

‘/script’;

// seek the user information from the recorded file//

if(!=file(“data/user.dat”)){echo “Open Data File Error!!”;}

=””;

for(=0;count();++)

if(strtok(,”:”)==){

=; }

if(==””){echo “not found the uesrname of Data!”;}

else{

echo ‘meta “refresh” content=”0;’,’url=’,,'”‘;}

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图