标签:
最近做个人网站想实现多个二级域名,一来为了好记,二来为了搜索引擎优化,搜索引擎对二级域名的收录还是比较快的。刚开始做了4,5个二级域名,每个都是在域名解析后台手动添加的,不过随着二级域名越来越多,发现这种方式太麻烦太累了,所以才想通过程序来实现多个二级域名的解析。
实现二级域名泛解析,首先要在域名管理后台添加一个泛解析 添加一条A记录 主机记录写成 *即可 如下图,
其次我们需要在iis上建立一个网站比如叫fanjiexi 主机头要留空 把默认页面设置为我们下面要用的页面fanjiexi.aspx,如下图
至此我们的配置工作准备好了,下面就可以写程序来实现无限二级域名了。
比如我的网站上51tools.info主要是各种在线工具,每个工具我都建立一个二级域名,这样就会很多个二级域名,而且微信爆文wexin.51tools.info里面数采集公众号的文章,每个公众号都是一个二级域名,可想而知有多少个二级域名
现在我们来看下程序如何实现的
我们在我们项目下建立一个文件叫做fanjiexi.aspx 我们知道上面我们建立的网站已经默认页面已经是这个页面了,而且我们已经设置了泛解析到这个网站,就是任何二级域名都会访问这个页面,这样我们只需要拦截信息输出我们的二级域名想展示的结果即可。
关键代码如下
var url = Request.Url.Host; StringWriter output = new StringWriter(); if (url.Contains("ip.51tools.info")) { if (Request.QueryString.Count>0) { HttpContext.Current.Server.Execute("/IP.aspx?" + Request.QueryString, output); } else { HttpContext.Current.Server.Execute("/IP.aspx?ip=" + Common.MyRequest.GetIP(), output); } } else if (url.Contains("base64.51tools.info")) { HttpContext.Current.Server.Execute("/BASE64.aspx", output); }
Response.Write(output.ToString());
代码很简单,我们就是获取用户访问的域名,然后去调用我们自己的真实页面输出结果,这样用户看到的就是完整的一个二级域名了。配合数据库查询我们也很容易实现上面说的微信公众号的二级域名。这样我们管理起来很方面,我们只需要维护我们的真实页面。
文章出处:http://www.cnblogs.com/weiguang3100/
在线工具:http://51tools.info
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
标签:
原文地址:http://www.cnblogs.com/weiguang3100/p/5237071.html