码迷,mamicode.com
首页 > Web开发 > 详细

.net iis 域名泛解析实战

时间:2016-03-03 01:42:23      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:

最近做个人网站想实现多个二级域名,一来为了好记,二来为了搜索引擎优化,搜索引擎对二级域名的收录还是比较快的。刚开始做了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());

代码很简单,我们就是获取用户访问的域名,然后去调用我们自己的真实页面输出结果,这样用户看到的就是完整的一个二级域名了。配合数据库查询我们也很容易实现上面说的微信公众号的二级域名。这样我们管理起来很方面,我们只需要维护我们的真实页面。

.net iis 域名泛解析实战

标签:

原文地址:http://www.cnblogs.com/weiguang3100/p/5237071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!