泛二级域名的优势和实现实例、泛域名解析下的精确域名优化
来源:互联网 发布:类似知父莫若子的文 编辑:程序博客网 时间:2024/05/16 00:50
什么是二级域名,大家恐怕都很清楚,举个例子,比如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 = @"[url=http://(w{3}/.)?([^/.]*)[/.]*fenlei123/.cn]http://(w{3}/.)?([^/.]*)[/.]*fenlei123/.cn[/url]";
string newUrl = "";
string strDomain = Split2Info(url, strMatchDomain);
if (strDomain != null && strDomain != "")
{
if (url.ToLower().EndsWith(@"default.aspx"))
{
if(strDomain != "all")
{
newUrl = string.Format("[url=file:////ParterSite.aspx?code={0]//ParterSite.aspx?code={0[/url]}", strDomain);
this.Context.RewritePath(newUrl);
}
}
给大家解释一下这段代码:
假如我们请求了这样一个地址:http://qingdao.fenlei123.cn,经过Split2Info()方法使用正则表达式处理后,会得到fenlei123.cn前面的qingdao,也就是说,我们使用正则表达式得到了某个城市的名称.然后我们判断这个url是否是default.aspx结尾的,因为所有的二级域名都是以default.aspx结尾的(针对这个网站),然后把这个url重定向也就是说这个就是最终真正要执行的网页。
这样,我们通过泛解析和网页重形象就实现了泛二级域名,当然也可以通过别的方式实现,比如iis级别的dll重定向等。
===============================================================================
http://www.im286.com/thread-2152732-1-1.html
泛域名解析大家都明白,我也写过几篇文章介绍了泛域名解析的优势和具体操作方法,在这里再简单的讲一下,也就是说对于一个域名,比如www.2shouche.org,如果我们要实现泛域名解析,就把*.2shouche.org解析到你的服务器上,这样所有你的二级域名比如http://beijing.2shouche.org , http://shanghai.2shouche.org等都解析到了你的这台服务器上.具体怎么操作可以见那篇文章.(详细的请见http://www.im286.com/viewthread.php?tid=2027279)
现在要说的是另外一个问题,就是泛域名解析怎么实现精确优化.
比如,对于http://beijing.2shouche.org,我们关心的是让这个二级域名出现一些和北京二手车有关的信息,我们可以通过global.asax的request事件,捕获到请求,然后分析出它的的一部分,即beijing,然后控制页面出现和北京相关的内容.同样,对于上海,我们也是一样的,出现和上海二手车相关的内容.不过,这样有个限制,也就是说不管请求的二级域名是什么,最终都要重定向到同一个网页,这样我们就会受很多限制.那么有没有办法让每一个域名都指向不同的网页呢?答案是有的,操作起来也不是很麻烦,再给大家实例分析一个案例:
比如www.d1tv.cn是做网络电视的,他也实现了某种程度的泛域名解析,比如我们请求http://pps.d1tv.cn,http://shipin.d1tv.cn和请求http://dianying.d1tv.cn都会指向同一个网站处理程序,但是这几个界面差别很大,基本很难用一个统一的网页来处理和优化,现在就好了,我们可以建立一个子文件夹,比如叫myweb,里面分别放上pps.aspx,shipin.aspx,dianying.aspx当然,别的扩展名也一样,当对这些二级域名请求时,我们就捕获它的二级域名头部,然后重定向到这些网页,这样以来,就很容易对这些静态网页做优化,也就相当于对二级域名做优化.
这样以来,我们就实现了看似不可能的泛域名解析下的二级域名精确优化问题.
参考代码(别的语言的写法基本一样):
string strMatchDomain = @"http://(w{3}/.)?([^/.]*)[/.]*d1tv/.cn";
string newUrl = "";
string strDomain = Split2Info(url, strMatchDomain);
if (strDomain != null && strDomain != "")
{
if (url.ToLower().EndsWith(@"default.aspx"))
{
newUrl = string.Format("//myweb//{0}.aspx", strDomain);
this.Context.RewritePath(newUrl);
}
}
以后有别的心得和优化方法再和大家分享
- 泛二级域名的优势和实现实例、泛域名解析下的精确域名优化
- 泛域名解析下的精确域名优化
- 泛域名解析域名域名解析的区别?
- 关于二级域名(泛二级域名)的实现
- nginx 中 rewrite 实现 二级域名、三级域名、泛域名、路径的重写
- Nginx中rewrite实现二级域名、三级域名、泛域名、路径的重写
- 云点域名-(域名解析、域名转向、二级域名、动态域名)的功能介绍
- 二级域名和一级域名的区别
- 域名绑定和域名解析的区别
- 泛域名解析-实现每人一个永久域名
- TOP域名的特点和优势详解
- Apache 2.2 + Tomcat 泛域名解析 动态二级域名
- Apache和Tomcat 实现泛域名解析的尝试
- Apache和Tomcat 实现泛域名解析的尝试
- Apache和Tomcat 实现泛域名解析的尝试
- 顶级域名,子域名,二级域名的区别
- 域名解析、域名转向的作用
- 说说域名、二级域名和主机名的联系区别
- 搜索技术总结整理
- 新的开始
- 什么是爱
- 简单循环的两个小注意
- ReadHat9 挂载 USB
- 泛二级域名的优势和实现实例、泛域名解析下的精确域名优化
- 关闭SELinux的方法
- [IT生活]新公司新规定,执行到底
- 用asp.net 2.0实现网站二级域名
- 通过简单的实验深入透析子网掩码,网关与ARP协议的作用
- Java 类路径
- 转贴:网络游戏封包基础 作者不明
- [Websphere]如何产生javacore文件和heapdump文件
- MVC 更改目录异常