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