|
這里要求對域名進行重寫,實現http://1234.abc.com/ 到 ~/Defa.ASPx?id=1234的重寫。
第一:域名
首先域名要支持泛解悉,就是域名解悉的主機名為星號*,例:*.abc.com。如下圖
這樣能保證你在瀏覽器地址欄輸入任何前綴,DNS都會把它們指向到你指定的IP地址上。
第二:IIS設置(Win2003 + IIS 6為例)
(1)網站必須為Web服務器的默認站點,即端口號為80,主機頭為空的站點。如下圖所示。
該站點接收所有對該服務器的HTTP請求(其它設置為主機頭的站點除外)。所以任何二級域名訪問該服務器都會由該站點進行處理。
(2)另外要在站點的“通配符應用程序映射”列表中添加ASP.NET的Web請求處理程序ASPNET_isapi.dll。如下圖所示。
在這里的設置,是讓該站點接到的所有請求都交給ASPNET_isapi.dll處理。
第三:修改Microsoft的URLRewriter。
運行開源項目URLRewriter。這里需要修改兩個地方:
(1)BaseModuleRewriter.cs類
protected virtual void BaseModuleRewriter_AuthorizeRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication) sender;
//Rewrite(app.Request.Path, app);
Rewrite(app.Request.Url.AbsoluteUri, app); // ## ## ## 這里修改了
}
NET技術:ASP.NET下用URLRewriter重寫二級域名,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。