讓你的ASP.NET虛擬主機(jī)也支持子網(wǎng)站

2010-08-28 10:50:44來源:西部e網(wǎng)作者:

    現(xiàn)在ASP.NET虛擬主機(jī)一般都可以綁定多個(gè)域名,但是通過這幾個(gè)域名打開的頁面都一樣。如何使綁的這幾個(gè)域名分別打開不通的頁面(即實(shí)現(xiàn)子網(wǎng)站的功能)呢? 其實(shí)很簡單,只需4個(gè)步驟:
    1)給虛擬主機(jī)綁定幾個(gè)域名;例如:www.abc.com,services.abc.com,support.abc.com。
    2)在虛擬主機(jī)站點(diǎn)的根目錄下建立幾個(gè)文件夾;例如:services,support;www文件夾就不要建了。
    3)在vs 2005 Web項(xiàng)目下,建立同樣的幾個(gè)文件夾,每個(gè)文件夾下添加一個(gè)default.aspx文件;例如:services,support。
    4)在 Global.asax 中添加 Application_BeginRequest 事件:          
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            
string sumDomain;
            
string domain = Request.Url.Host;
            
// http://localhost 可沒有“.”啊
            int i = domain.IndexOf('.');
            
if (i > 0)
            {
                
// 取域名(例如,www.abc.com)第一個(gè)“.”之前的部分(不包括第一個(gè)“.”)
                sumDomain = domain.Substring(0, i);

                
// 如果不是“www”,則自動(dòng)轉(zhuǎn)向到 http://www.abc.com/xxx,
                
//   地址欄的URL,不會顯示http://www.abc.com/xxx,而是顯示http://xxx.abc.com
                if (sumDomain.IndexOf("www"== -1)
                {
                    
// 注意,這一句是關(guān)鍵
                    HttpContext.Current.RewritePath("~/" + sumDomain + Request.Url.PathAndQuery);
                }
            }
        }


    怎么樣,是不是很簡單!  哈哈,這就是URL重寫(HttpContext.Current.RewritePath)。

原文地址:http://www.cnblogs.com/anjou/archive/2006/12/23/601777.html

關(guān)鍵詞:ASP.NET