第一步:把域名设置成泛解析. 就是把*.域名 解析到你的主机,是否支持泛解析,请查看你的域名商说明. 第二步:IIS设成的时候不要绑定域名.注意一台服务器里只能有一个站点不绑定域名 就是*.域名的默认访问页. 第三步:默认页里加入以下代码:关键部分如下: string sURL=context.Request.ServerVariables["HTTP_HOST"].ToLower(); sURL就是获取的域名部分 . xxx.域名 对应的xxx就是用户名.然后查库里的记录,如xxx对应的是www.csd.net那就就把 它转向到www.csdn.net 或者写一个框架页隐藏直实域名 第三步也可以写成HttpHandler或者HttpModule模块来处理 HttpHandler模块: public class DnsHttpHandler: IHttpHandler { public void ProcessRequest (HttpContext context) { string sUSER; UserDns user; string userDomain=string.Empty; string sURL=context.Request.ServerVariables["HTTP_HOST"].ToLower(); if(sURL.IndexOf("@")==-1&&sURL.IndexOf(".")==-1) { //判段域名,转向默认网址 context.Response.Redirect(DnsConfiguration.GetConfig().DefaultURL,true); } #region myhome设置 if(sURL=="保留域名") { context.Response.Redirect(DnsConfiguration.GetConfig().DefaultURL,true); } #endregion #region 判段并获取用户名 sUSER=Utility.DomainToUser(sURL); userDomain=Utility.GetFirstDomain(sURL); //context.Response.Write(userDomain); //context.Response.End(); user =Users.GetUserDns(sUSER,userDomain); if(user==null) { context.Response.Redirect(DnsConfiguration.GetConfig().DefaultURL,true); } context.Response.Write( "<meta http-equiv=refresh content=\"0;url="+user.RedirectURL.Trim()+"\">"); #endregion } public bool IsReusable { get { return false; } } } 提取用户名模块: public class Utility { public static string DomainToUser(string domain) { string username=string.Empty; string[] first_name; #region 判段并获取用户名 if(domain.IndexOf("@")==-1&&domain.IndexOf(".")==-1) { return username; } if(domain.IndexOf(".")!=-1) { first_name=domain.Split('.'); if(first_name[0]=="www") { username=first_name[1]; } else { username=first_name[0]; } } if(domain.IndexOf("@")!=-1) { first_name=domain.Split('@'); if(first_name[0]=="www") { username=first_name[1]; } else { username=first_name[0]; } } #endregion return username; } public static string GetFirstDomain(string domain) { string[] first_name; domain=domain.Replace('@','.'); string temp=string.Empty; if(domain.StartsWith("www.")) { domain=domain.Replace("www.",""); } if(domain.IndexOf('.')!=-1) { first_name=domain.Split('.'); }else return string.Empty; if(first_name.Length==2) { //sb.Append("{0}.{1}",first_name[0]) return String.Format("{0}.{1}",first_name[0],first_name[1]); } for(int i=1; i<first_name.Length;i++) { temp += first_name[i] + "."; } temp=temp.Remove(temp.Length-1,1); return temp; } }
|
很麻烦的样子,这个就交给天使老 |
84滴 二级玉米是项很复杂的技术 |
 [b]以下引用cnlove在2007 |
这个就是把 maomao.tyblog.com |
什么东西么,迷茫诶[emot]10[/em |
什么东西么,迷茫诶[emot]10[/em |
呵呵我转到这里来是为了以后自 |
啊~~~~~~不懂 |
|
<< < 2011 - 3 > >>
日 |
一 |
二 |
三 |
四 |
五 |
六 |
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
|