2012-02-09 57 views
3

如何在asp.net C#應用程序中創建子域?我正在使用一個asp.net門戶。如何使用ASP.NET創建動態子域?

我有我的網站,它將所有* .domain.com調用重定向到domain.com。我想達到的目標是,首先當用戶輸入一個動態子域名時,他應該被引導到它的主頁,就像用戶寫www.microsite1.domain.com一樣,那麼該網站應該指向頁面〜/ Microsite/Home.aspx ?value = microsite1,當用戶訪問www.microsite1.domain.com/about.aspx時,我應該能夠獲得參數value1 = about。

回答

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,閱讀手冊。