关于域名转向服务 有很多网站,提供域名转向服务,如***.yeah.net、***.126.com, 如果我也想为别人做域名转向, 我需要做些什么?怎样才能做到?比方说我自己有个 www.abcde.com 网站, 可以让其他人申请如: abc1.abcde.com abc2.abcde.com abc3.abcde.com 这样的网址吗? 当在浏览器中键入 ****.abcde.com, 就可以链接到其它网址去。 不太清楚。 从技术上来说,服务器在你手里才行。 商业上的问题要问别人了。 -------------------------------------------------------------------------------- 如果要在NT上设置三级、多级域名,首先需要设置DNS服务器,让形如abc.5945.net的域名能够解析到我们指定的主机IP地址上,然后我们需要设置该主机的IIS(Internet Information Server),让该三级域名能访问对应URL地址。由此可见这个过程并不复杂,然而需要对各台主机有相应的配置权限,显然这是不可能的;同时,提供大量而密集的服务时,设置过程显得缓慢而烦琐。那么真正的虚拟域名服务是怎样实现的呢?答案很简单:使用泛域名。泛域名类似于DOS下的通配符,比如你在DNS中建立一个名为*.5945.com的泛域名,则所有如www.5945.net、abc.5945.net、ftp.abc.5945.net等形式的域名都不用在DNS中另行设置而“自动生效”,它们在被DNS解析时均会指向建立此泛域名时所指定的同一个IP地址。这样,我们只需要为我们的主域名申请一个泛域名解析服务,域名解析问题就迎刃而解了,而且被解析到同一个IP地址,那么我们所要做的就是在这个IP地址所对应主机的默认WEB页面上做文章,让不同的子域名进行URL重定向,转到它们所希望的URL网址上去。这里需要说明的是,每台提供WEB服务的主机都有一个默认的WEB服务,如果一个域名被解析到该主机,而在WEB服务器软件中没有设置其对应文档目录时,对该网址的请求即被提交给默认WEB服务,这是我们虚拟域名服务的基本流程,同时也说明,一台主机只能提供一个虚拟主机服务。 例程解析: 我们以PHP程序为例来介绍这个过程。假设我们需要提供域名为5945.net的虚拟域名服务,5945.net主机所默认的WEB服务的默认文档为index.php(默认文档页面名可以由WEB Server设置),那么该页面程序就应负责将abc.5945.net重定向到我的免费空间,比如:www.netease.com/~abc/default.htm。那么,我们的程序首先需要分析用户所访问的三级域名是什么。 index.php: $domain=$SERVER_NAME; //取得用户所访问的域名全称 $domain=eregi_replace('.5945.net', '', $domain); //截取域名全称,获取用户所要访问的三级域名,获取所访问的域名全称,可以直接使用PHP系统变量$SERVER_NAME或者$HTTP_HOST,注意引用系统内部变量必须大写。事实上PHP系统内部已经对用户浏览器发送的访问请求头信息进行了全面的分析,并分割成、保存成相应的系统变量,以方便程序使用。第二个语句使用正则替换,查找“.5945.net”并替换成空字符,这样就获得了三级域名。 通常,一个大型的虚拟域名服务都是将用户子域名和其对应URL放在数据库里,这样,用户可以随时注册新的三级域名和更改域名对应的URL,那么下面的工作就是从数据库中检索出该三级域名对应的URL(数据库检索程序略)。 ...... //根据三级域名检索数据库,并得到变量$url,其中存放了该域名对应的URL地址 Header("Location: $url"); //系统重定向,使用户浏览器转向相应URL获得了对应URL地址之后,我们可以使用PHP的header函数给用户浏览器发送一个重定向信息,让用户转移到相应的URL地址,这样一个完整的虚拟域名服务过程就结束了。这里我们需要注意的是header函数之前,不能对浏览器有任何输出,否则会产生错误,另外重定向操作中的URL地址应该表述完整,例如: http://www.netease.com/~abc/~index.htm。 -------------------------------------------------------------------------------- 用简单的html也可以达到: <html><head><title></title></head><body> <script langugage="JavaScript"> switch(window.location.hostname.toLowerCase()) { case("totue.net"):window.location.replace(" http://www.totue.net/other_index.htm"); break; case("mail.totue.net"):window.location.replace(" http://mail.totue.net/other.php"); break; default:window.location.replace(" http://www.totue.net/other_index.htm"); break; } </script> </body></html> 把文件保存为index.html,即为访问到第一个文件,由此文件来分流。