什么是二级域名,大家恐怕都很清楚,举个例子,比如www.fenlei123.cn一般当作一级域名,或者主域名,那么http://beijing.fenlei123.cn和http://shanghai.fenlei123.cn就是二级域名了。二级域名的优势实际上,对于搜索引擎来说,一般是把不同的二级域名当作不同的站点来看待的,也就是说在很大程度上可以把二级域名当作一个独立的站点来对待。所以,在搜索引擎的排序权重里,对于二级域名给与很高的权重。更重要的一点是,大部分搜索引擎,非凡是百度,基本会无条件收录二级域名。也就是说,你的二级域名虽然缺少外链,他也可以给你收录,而对于普通的网页,收录起来就不那么愉快了。二级域名的解析方法基本上所有的dns都支持泛域名解析,所以,我们只要把泛域名解析到一个ip上就可以了。不过,这样有个问题,就是一般情况下,一个服务器只答应一个空主机头,假如你的服务器已经有别的域名占用了这个空主机头,就需要在你的这个网站的主机头里写上所有可能的二级域名。所以,我们推荐使用独立服务器来实现泛二级域名。二级域名的asp.net重定向实现对于网站程序来说,二级域名的实现基本上都是通过重定向来实现的,对于使用asp.net的系统,我们使用下面的方式来实现(asp和其他的语言也都非常类似):在global.asax文件里,截获Application_BeginRequest事件,重写如下:string url = Request.Url.AbsoluteUri; string strMatchDomain = @"
*)[\.]*fenlei123\.cn]http://(w{3}\.)?([^\.]*)[\.]*fenlei123\.cn"; string newUrl = ""; string strDomain = Split2Info(url, strMatchDomain); if (strDomain != null && strDomain != "") { if (url.ToLower().EndsWith(@"default.aspx")) { if(strDomain != "all") { newUrl = string.Format("
\\ParterSite.aspx?code={0}", strDomain); this.Context.RewritePath(newUrl); } }给大家解释一下这段代码:假如我们请求了这样一个地址:http://qingdao.fenlei123.cn,经过Split2Info()方法使用正则表达式处理后,会得到fenlei123.cn前面的qingdao,也就是说,我们使用正则表达式得到了某个城市的名称.然后我们判定这个url是否是default.aspx结尾的,因为所有的二级域名都是以default.aspx结尾的(针对这个网站),然后把这个url重定向到http://www.fenlei123.cn/partersite.aspx?code=qingdao,也就是说这个就是最终真正要执行的网页。这样,我们通过泛解析和网页重形象就实现了泛二级域名,当然也可以通过别的方式实现,比如iis级别的dll重定向等。