|
這里要求對(duì)域名進(jìn)行重寫(xiě),實(shí)現(xiàn)http://1234.abc.com/ 到 ~/Defa.ASPx?id=1234的重寫(xiě)。
第一:域名
首先域名要支持泛解悉,就是域名解悉的主機(jī)名為星號(hào)*,例:*.abc.com。如下圖
這樣能保證你在瀏覽器地址欄輸入任何前綴,DNS都會(huì)把它們指向到你指定的IP地址上。
第二:IIS設(shè)置(Win2003 + IIS 6為例)
(1)網(wǎng)站必須為Web服務(wù)器的默認(rèn)站點(diǎn),即端口號(hào)為80,主機(jī)頭為空的站點(diǎn)。如下圖所示。
該站點(diǎn)接收所有對(duì)該服務(wù)器的HTTP請(qǐng)求(其它設(shè)置為主機(jī)頭的站點(diǎn)除外)。所以任何二級(jí)域名訪問(wèn)該服務(wù)器都會(huì)由該站點(diǎn)進(jìn)行處理。
(2)另外要在站點(diǎn)的“通配符應(yīng)用程序映射”列表中添加ASP.NET的Web請(qǐng)求處理程序ASPNET_isapi.dll。如下圖所示。
在這里的設(shè)置,是讓該站點(diǎn)接到的所有請(qǐng)求都交給ASPNET_isapi.dll處理。
第三:修改Microsoft的URLRewriter。
運(yùn)行開(kāi)源項(xiàng)目URLRewriter。這里需要修改兩個(gè)地方:
(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技術(shù):ASP.NET下用URLRewriter重寫(xiě)二級(jí)域名,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。