现在很多网站注册用户都会提供给用户一个二级或三级域名比如网易的博客就属于这种类型
今天我通过服务器的简单配置和一个小函数也简单的实现了二级域名的功能与大家分享
实现二级域名首先要具备的条件是你的域名要支持泛解析也就是支持*.yourdomain.com指向同一个IP地址
制作步骤如下:
1在服务器上建立一个IIS站点(除了主站以外最好另外再建立一个和主站www.yourdomain.com 指向同一个目录)建立IIS站点的时候不要填写站点的主机头,只填写对应的IP即可,其他地方和普通设置站点办法相同,把文档选项卡里面其他默认文档删除,然后填上下面我们将用到的二级域名处理文件Domain.asp完成站点设置
2数据库设计
要添加一个数据库表
包含字段有id,主机头,域名对应用户id,添加时间(可选)
3编写Domain.asp程序文件文件内容如下:
Domain.asp
<!--#Include Virtual="Include/Conn.asp"-->
<%
'函数名称UserDomain
'函数功能根据用户申请的二级域名跳转到对应的企业
'创建时间:2008-10-21
'创建人:陈建伟
'Email:Chenjianwei-1980@163.com
'QQ:40849179
Function UserDomain()
Dim HostName,Domain,Rs,Sql
'获取URL
HostName=lcase(request.servervariables("HTTP_HOST"))
'获取主机头
Domain=Split(HostName,".")
'Response.Write(Domain(0))
'查找该主机头在用户表中的企业用户ID找到的话跳转到相应企业首页找不到跳转到网站首页
Set Rs=CreateObject("Adodb.RecordSet")
Sql="Select DomainName,PjId From T_Domain Where DomainName='"&Domain(0)&"'"
Rs.Open Sql,Conn,1,1
If Not Rs.Eof And Not Rs.Bof Then
Response.Redirect("/co/mb/index.html?id="&Rs(1))
Else
Response.Redirect(http://www.jisou.net)
End If
Rs.Close
Set Rs=Nothing
Conn.Close
Set Conn=Nothing
End Function
%>
<%=UserDomain()%>
把这个文件上传到主站根目录,添加记录就可以使用了
http://botaohuagong.jisou.net这个就是我做好的一个测试的例子
大家可以看一下
为了让速度更快所以后面带了一些参数,如果数据量不是很大的情况下可以考虑把后面的跳转参数在页面里面处理不加入到网址里面会好看一些