首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

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

     編輯:關於ASP.NET

單一虛擬主機透過 URL Rewrite 實現多子網站

四步驟完成

  1. 虛擬主機綁定多網域:www.abc.com、services.abc.com、support.abc.com。
  2. 站點根目錄建立對應資料夾:services、support(www 用根目錄)。
  3. VS 專案建立同名資料夾,各放 default.aspx。
  4. Global.asax 實作 Application_BeginRequest:
protected void Application_BeginRequest(object sender, EventArgs e)
{
    string host = Request.Url.Host;
    int i = host.IndexOf('.');
    if (i > 0)
    {
        string subDomain = host.Substring(0, i); // 取第一個點前段
        if (subDomain != "www")
        {
            HttpContext.Current.RewritePath("~/" + subDomain + Request.Url.PathAndQuery);
        }
    }
}

原理

RewritePath 內部重寫請求路徑,瀏覽器網址列保持 services.abc.com/xxx,實際執行 /services/xxx 下的頁面。

優點

  • 單一虛擬主機、單一應用程式池、單一專案部署。
  • 無需額外 IIS 站點、應用程式池、授權成本。
  • 共享 Session、快取、設定檔,維護極簡。

此技巧為中小型多品牌/多部門站點部署的經典低成本方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved