广告联盟网

 找回密码
 注册
查看: 1425|回复: 3
打印 上一主题 下一主题

泛二级域名的优势和实现实例

[复制链接]
跳转到指定楼层
1#
发表于 2007-6-20 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
<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 />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;string strMatchDomain = @&quot;[url=http://(w{3}\.)?([^\.]*)[\.]*fenlei123\.cn]http://(w{3}\.)?([^\.]*)[\.]*fenlei123\.cn[/url]&quot;;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;string newUrl = &quot;&quot;;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;string strDomain = Split2Info(url, strMatchDomain);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if (strDomain != null &amp;&amp; strDomain != &quot;&quot;)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; if (url.ToLower().EndsWith(@&quot;default.aspx&quot;))<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; if(strDomain != &quot;all&quot;)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; newUrl = string.Format(&quot;\\ParterSite.aspx?code={0}&quot;, strDomain);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; this.Context.RewritePath(newUrl);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<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>]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|广告联盟网  

GMT, 2024-10-31 , Processed in 0.066448 second(s), 19 queries .

Powered by Discuz! X3.2

© 2005-2021 www.ggads.com GGADS 广告联盟网

快速回复 返回顶部 返回列表