現(xiàn)在asp.net虛擬主機(jī)一般都可以綁定多個(gè)域名,但是通過這幾個(gè)域名打開的頁(yè)面都一樣。如何使綁的這幾個(gè)域名分別打開不通的頁(yè)面(即實(shí)現(xiàn)子網(wǎng)站的功能)呢? 其實(shí)很簡(jiǎn)單,只需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,不會(huì)顯示http://www.abc.com/xxx,而是顯示http://xxx.abc.com
if (sumdomain.indexof("www") == -1)
{
// 注意,這一句是關(guān)鍵
httpcontext.current.rewritepath("~/" + sumdomain + request.url.pathandquery);
}
}
}
怎么樣,是不是很簡(jiǎn)單! 哈哈,這就是url重寫(httpcontext.current.rewritepath)。
新聞熱點(diǎn)
疑難解答
圖片精選