我们常常看到有些网站提供这样的功能,用户可以申请一个自己的名称作为二级域名来做自己的用户主页。格式大体如下:
网站本身域名 website.com 用户user申请自己的space并命名为myspace. 用户希望访问主页地址为 myspace.website.com。这样不同用户就可以申请自己的space名称做为二级域名来。
同样这样二级域名需求,企业也有可能用到。比如www二级域名,forum二级域名,support二级域名, example二级域名。
www.websitedomain.com forum.websitedomain.com support.websitedomain.com example.websitedomain.com ...
这里摘录网上的一个动态生成二级域名实现:
作为小公司经常遇到的问题是需要开通二级域名而又不想总是通过IDC,因为IDC的效率实在是不敢恭维,而且IDC的态度经常让人琢磨不透。。。。。。
我所在的公司就是在IDC租用了一台服务器(只有两个IP地址,很可怜,IDC要200RMB一个IP),因为公司这方面的投入实在有限,不肯多租一点。现在这台服务器上跑了WEB SERVER 和DB SERVER,如果加上DNS,不知道这个2U的家伙能不能顶的住,所以我干脆没有装DNS服务,把我们公司的DNS解析交给IDC来做,虽然节省了一台服务器,但是麻烦也来了,公司经常要做二级域名(比如我们公司的域名是www.ourdomain.com,经常需要开通类似 forum.ourdomain.com这样的二级域名)可是每次都和IDC交涉,实在让我很为难(有时候IDC的销售人员还要50 RMB一个二级域名)。所以最后我做了一个小程序来解析我们的二级域名。
解析的原理是这样的:ServerVariables("HTTP_HOST")这个变量可以返回用户请求的地址(比如是www.ourdomain.com 或者 forum.ourdomain.com,也可能是你的IP地址)然后我们就可以以这个为依据来进行解析了!下面是解析的小程序:
redirect.asp:
<%
‘首先得到用户请求的地址是什么
requireURL = request.ServerVariables("HTTP_HOST")
‘然后根据用户请求的地址进行重定向
Select Case requireURL
Case "cad.ourdomain.com" response.redirect "http://www.ourdomain.com/cad/"
Case "forum.ourdomain.com" response.redirect "http://www.ourdomain.com/forum/"
‘如果是其他的请求一律转到公司的WWW域名下(您也可以设置成拒绝其他的请求)
Case Else response.redirect "http://www.ourdomain.com/index.asp"
End Select
%>
好了,下面把IIS的默认文档的顺序改成 redirect.asp / index.asp 这样用户在访问你的网站的时候就首先访问你的重定向文件,然后就可以转到你希望的地址了!
在重定向的处理上,如果你觉得redirect浪费资源,那么可以改用SCRIPT来完成:
<script language=”JavaScript”>
location=http://www.ourdomain.com/cad/
</script>
怎么样?
是不是可以不用麻烦IDC了,自己就可以做了!
最后,需要指出的的,需要IDC做DNS的时候帮你做所有的 ourdomain.com的域名解析——所有ourdomain.com下的域名都解析到你的服务器上
给个思路.
首先,你的DNS必须支持泛域名解析(中国频道..DNS.com.cn等等.)
然后做个 *.domain.com 指向你的服务器IP
然后把 *.domain.com 绑定在你的服务器上。
然后写程序获取 *.domain.com 的第一段 "*"
然后写个数据表。查找匹配的前缀对应匹配的网址.
然后跳转。
注:"*" = 任意字符串