如何使用ASP.NET创建动态子域?

时间:2012-02-09 07:14:52

标签: asp.net dynamic subdomain

如何在asp.net C#应用程序中创建子域?我正在使用asp.net门户网站。

我的网站将所有* .domain.com电话重定向到domain.com。我想要实现的是,首先当用户输入动态子域名时,应将其定向到其主页,就像用户写入www.microsite1.domain.com一样,那么该站点应该指向页面〜/ Microsite / Home.aspx ?value = microsite1,当用户访问www.microsite1.domain.com/about.aspx时,我应该能够得到参数value1 = about。

1 个答案:

答案 0 :(得分:4)

第一步是将子域名放在DNS主机服务器中。为此,您需要操作dns文件。例如,如果您使用BIND作为DNS服务器,您可以打开保存DNS配置的文本文件,例如:“c:\ program files \ dns \ var \ mysite.com”并在那里添加一行

subdomain.mysite.com.   IN  A   111.222.333.444

您还可以更改文件的ID,以便向BIND发送消息以更新子域。

第二步是将新子域重定向到正确的目录。您可以使用rewritepath

protected void Application_BeginRequest(Object sender, EventArgs e) Global.asax上执行此操作
protected void Application_BeginRequest(Object sender, EventArgs e)
{
    if (HttpContext.Current.Request.Url.Host.StartsWith("subdomain."))
    {
        // here you need to find where to redirect him by reading the url
        // and find the correct file.
        HttpContext.Current.RewritePath("/subdomain/" + Request.Path, false);
    }


    // .... rest code   
}

它不是那么容易,不是那么难......也许还有一些小问题,比如写入dns的权限。您还需要了解dns,阅读手册。