如何在网站中使用虚拟的二级域名!

February 25th, 2008


» 上一篇:韩国工业银行可以用域名抵押贷款
» 下一篇:中文CN域名市场容量骤增3倍

用过网易的my.126.com域名转向服务的朋友们一定都对它的强大功能非常感兴趣吧?只要申请了自己的虚拟域名,如icech.126.com,以后无论自己的真实网址如何变化,访问者都能使用这个虚拟域名准确访问到自己的网站。以前我都以为这种域名是一种域名服务,因为工作上的需要,我们也要使用这种域名形式,但是应该怎么做呢?开始找了很多书籍和资料,发现做一个所谓的”二级域名”其实很简单。为什么我说”二级域名”是”所谓的”呢?因为按照正规的叫法这是完全错误的.
第一步:泛域名的解析
首先我要给大家讲一个故事:故事的内容是”泛域名”。从前啊,有个小朋友叫做”泛域名”,泛域名是谁家的小孩呢?知道DOS伯伯吗?唉~~对了,泛域名就是DOS伯伯的表兄的外甥的朋友,DOS有个儿子叫做”通配符”,比如你在计算机中查找一个文件,你打上ice*.*,它就会把什么icech.sys呀,icech.old呀,icecream.eat等文件统统查找出来。”泛域名”就是这个样子的,就像”*.xxwcn.com”。那么泛域名有什么功用呢?这么说吧,你在DNS中建立一个名为”*.xxwcn.com”的泛域名,那么所有就像www.xxwcn.com、news.xxwcn.com、love.xxwcn.com等等格式的域名都不用建立就会自动生效,他们都会指向建立此泛域名时指向的IP地址。如果你申请了一个域名,通过这样的测试,你就会知道你申请的域名是不是泛域名了。不过一般的申请域名的时候如果我做特殊要求,ISP接入商是不提供此项服务的!
建立泛域名的大致步骤是:
1、进入DNS,选”正向查找区域”,单击右键,新建”区域”,输入”xxwcn.com”(你写你自己的域名啊,不要乱用我的域名)
2、选中”xxwcn.com”,单击右键,新建”域”,输入”*”
3、选中”*”,新建”主机”,主机名保持为空,输入相应的IP地址就OK了。简单!EASY!你又该说了,悟空,不要大吵大嚷的嘛!小心吓了那些花花草草的。后面的才是关键呢。
第二步:利用程序来完成虚拟域名的解析假设我们希望设置一个news.xxwcn.com的域名,当我们在浏览器中输入”news.xxwcn.com”的域名时,他会转向它的真实地址http://www.weste.net/index.htm。一般流程肯定就是,它会首先找到DNS服务器,并且进行域名与IP地址的转换,这里因为我们已经设置了泛域名,news.xxwcn.com就会直接指向xxwcn.com指向的IP,这之间我们不能做什么其他的设置来改变这一流程。那么我们所要做的就是在这个IP地址所对应主机的默认WEB页面上做文章,让不同的子域名进行URL重定向,转到它们所希望的URL网址上去。
1、设置xxwcn.com所在主机所默认的WEB服务的默认文档为index.asp、index.php或者index.cgi等动态页面,而不能是静态的index.htm页面。2、通过ASP、PHP或者CGI程序来进行URL的重定向功能
(1)index.php $domain=$SERVER_NAME;//取得用户所访问的域名全称$domain=eregi_replace(’.xxwcn.com’, ”,$domain);//截取域名全称,获取用户所要访问的三级域名,获取所访问的域名全称,可以直接使用PHP系统变量$SERVER_NAME或者$HTTP_HOST,注意引用系统内部变量必须大写。事实上PHP系统内部已经对用户浏览器发送的访问请求头信息进行了全面的分析,并分割成、保存成相应的系统变量,以方便程序使用。第二个语句使用正则替换,查找”.xxwcn.com”并替换成空字符,这样就获得了三级域名。通常,一个大型的虚拟域名服务都是将用户子域名和其对应URL放在数据库里,这样,用户可以随时注册新的三级域名和更改域名对应的URL,那么下面的工作就是从数据库中检索出该三级域名对应的URL(数据库检索程序略)。……//根据三级域名检索数据库,并得到变量$url,其中存放了该域名对应的URL地址Header(”Location:$url”); //系统重定向,使用户浏览器转向相应URL获得了对应URL地址之后,我们可以使用PHP的header函数给用户浏览器发送一个重定向信息,让用户转移到相应的URL地址,这样一个完整的虚拟域名服务过程就结束了。这里我们需要注意的是header函数之前,不能对浏览器有任何输出,否则会产生错误,另外重定向操作中的URL地址应该表述完整,例如:http://www.weste.net/index.htm广告窗口的弹出:常见的虚拟域名服务通常会有弹出广告窗口,是怎么实现的呢?为了能统一控制,必须在重定向用户浏览器之前弹出这个广告框,那么重定向操作就不能简单地使用header函数了,因为这个函数要求使用前不能对浏览器有任何输出。要实现它,我们必须改变方法:……//根据三级域名检索数据库,并得到变量$url,其中存放了该域名对应的URL地址echo’<scriptlanguage=”javascript”>window.open(”adv.htm”);</script>’;//输出一段javascript代码,用以打开一个广告窗口,显示广告页adv.htmecho ‘<meta http-equiv=”refresh” content=”0;URL=’.$url.’”>’;//使用HTML的meta语句来实现系统重定向,让用户浏览器转向相应URL。
(2)index.asp <% name=request.querystring(”name”) %>’这样来获取用户所访问的域名全称trim(name)’用trim函数来截取域名全称,获取用户所要访问的三级域名与数据库对比,如果与数据库所设置的虚拟域名相同,则直接用response.redirect转向http://www.weste.net/index.htm页面,否则设定另外转向页面。具体的设计原则就是这些了,其他的就十分简单了,虚拟域名最重要的在于一个思路,这和我们平时编写程序一样,一个功能的实现并不一定要很高深的技术,成功的关键在于”开动你的头脑”!

赵琪龙

随机文章

添加评论

必需

Required, hidden

可用标签:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

引用:http://www.ccouo.com/html/1467.html/trackback  |  订阅