讓你的ASP.NET虛擬機器主機也支援子網站

來源:互聯網
上載者:User
    現在ASP.NET虛擬機器主機一般都可以綁定多個網域名稱,但是通過這幾個網域名稱開啟的頁面都一樣。如何使綁的這幾個網域名稱分別開啟不通的頁面(即實現子網站的功能)呢? 其實很簡單,只需4個步驟:
    1)給虛擬機器主機綁定幾個網域名稱;例如:www.abc.com,services.abc.com,support.abc.com。
    2)在虛擬機器主機網站的根目錄下建立幾個檔案夾;例如:services,support;www檔案夾就不要建了。
    3)在vs 2005 Web項目下,建立同樣的幾個檔案夾,每個檔案夾下添加一個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)第一個“.”之前的部分(不包括第一個“.”)
                sumDomain = domain.Substring(0, i);

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

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.