首页
技术库 |  站长工具 | 技术手册 |  字体库 |  知识点词汇表  |  联系我们 |   



主菜单


站点首页
技术手册
字体库
知识点 词汇表
站长工具
高级搜索
联系我们
站点地图

文章分类



文章内容 

当前位置: .: .Net技术 .: .Net分析与设计 .: .NET实现二级域名的方法
.NET实现二级域名的方法



最近做系统中涉及到一功能模块:就是用户注册完成后自动赠送他二级域名的功能。
经过资料分析,实现过程基本如下:

总体思想设计图示:
注意,要保证你的域名泛解析,并且在主机上绑定主域名,如:绑定我的域名为cn-web.com。
原理很简单,用泛解析后,test000.cn-web.com(或者其它的子域名)都指向了我的主机ip,然后在主机默认处理页面里分析地址进行转向。(如我是在default.aspx页面里处理的)
代码实现:
我这里用的是.net2.0(c#)。
getUrl   =   Request.Url.AbsoluteUri.ToLower();         //获取URL(包含后面的网页)   //http://www.cn-web.com/index.aspx
//判断URL是否为空 
   if(getUrl != "")  
   {  
    string at = getUrl.Replace("http://",   "");       //将URL中的"http://"去掉  www.cn-web.com/index.aspx
    userUrl = at;//www.cn-web.com/index.aspx
    userUrl = userUrl.Replace("www.",   "");     //将URL中的"www."去掉   cn-web.com/index.aspx
    userUrl = userUrl.Split('.')[0];   //取字符串第一个点之前的部分 cn-web
    uurl = at.Split('/')[0];//读取站点信息,www.cn-web.com
    string mosite = GetWebConfig.getDomain.Replace("http://*.","").Replace("/","");//cn-web.com,//这里是从我的配置文件里获取信息(下面会提到部分配置文件代码)
    if(at.IndexOf(GetWebConfig.SiteIP)!=-1)//这里是从我的配置文件里获取信息(下面会提到部分配置文件代码)

    {
     this.Response.Redirect("user/in.aspx");//如果是IP信息,直接用ip登陆
    }
    else//用的是域名登陆
    {
    
     if(at.IndexOf("www.")!=-1 || at.IndexOf(mosite)==-1)//处理一级域名
     {
      //处理用户站点信息
      if(new BLL.ALD_MSite().Exists(uurl))
      {
       //这里代码省去,根据你的实际情况由域名信息获取用户信息进行转向
      }
      else
      {
       //一级域名不存在的处理!
      }

     }
             
    }   
web.config页面:
<add key="Site" value="http://*.cn-web.com/" />
<add key="SiteIP" value="212.12.23.2" /> 
 
以上代码只是截取了核心实现代码,已经能全面说明问题了。




隐藏文章属性
文章编号:564
点击次数:374
创建日期:1-17-2008
修改日期:1-18-2008
发布人:laohan
点评:
发送此文
发表评论
打印
添加到收藏夹


评级:




用户评论

此文章还没有任何评论!

网站地图 - 知识词汇 - 全文检索 - 广告服务 - 帮助中心 - 联系我们
.:www.cn-web.com
网站技术开发联盟之WEB开发技术知识库
联系人:老韩(QQ:5679551)
晋ICP备07003487号