二級(jí)域名的優(yōu)勢(shì)
實(shí)際上,對(duì)于搜索引擎來說,一般是把不同的二級(jí)域名當(dāng)作不同的站點(diǎn)來看待的,也就是說在很大程度上可以把二級(jí)域名當(dāng)作一個(gè)獨(dú)立的站點(diǎn)來對(duì)待。所以,在搜索引擎的排序權(quán)重里,對(duì)于二級(jí)域名給與很高的權(quán)重。更重要的一點(diǎn)是,大部分搜索引擎,特別是百度,基本會(huì)無條件收錄二級(jí)域名。也就是說,你的二級(jí)域名雖然缺少外鏈,他也可以給你收錄。
二級(jí)域名的解析方法
基本上所有的dns都支持泛域名解析,所以,我們只要把泛域名解析到一個(gè)ip上就可以了。不過,這樣有個(gè)問題,就是一般情況下,一個(gè)服務(wù)器只允許一個(gè)空主機(jī)頭,如果你的服務(wù)器已經(jīng)有別的域名占用了這個(gè)空主機(jī)頭,就需要在你的這個(gè)網(wǎng)站的主機(jī)頭里寫上所有可能的二級(jí)域名。所以,我們推薦使用獨(dú)立服務(wù)器來實(shí)現(xiàn)泛二級(jí)域名。
二級(jí)域名的asp.net重定向?qū)崿F(xiàn)
對(duì)于網(wǎng)站程序來說,二級(jí)域名的實(shí)現(xiàn)基本上都是通過重定向來實(shí)現(xiàn)的,對(duì)于使用asp.net的系統(tǒng),我們使用下面的方式來實(shí)現(xiàn)(asp和其他的語言也都非常類似):
在global.asax文件里,截獲Application_BeginRequest事件,重寫如下:
string url = Request.Url.AbsoluteUri;
string strMatchDomain = @"[url=http://(w{3}\.)?([^\.]*)[\.]*UQC\.cn]http://(w{3}\.)?([^\.]*)[\.]*UQC\.cn[/url]";
string newUrl = "";
string strDomain = Split2Info(url, strMatchDomain);
if (strDomain != null && strDomain != "")
{
if (url.ToLower().EndsWith(@"default.aspx"))
{
if(strDomain != "all")
{
newUrl = string.Format("[url=file://\\ParterSite.aspx?code={0]\\ParterSite.aspx?code={0[/url]}", strDomain);
this.Context.RewritePath(newUrl);
}
}
給大家解釋一下這段代碼:
假如我們請(qǐng)求了這樣一個(gè)地址:http://eji.UQC.cn,經(jīng)過Split2Info()方法使用正則表達(dá)式處理后,會(huì)得到UQC.cn前面的eji,也就是說,我們使用正則表達(dá)式得到了某個(gè)城市的名稱。然后我們判斷這個(gè)url是否是default.aspx結(jié)尾的,因?yàn)樗械亩?jí)域名都是以default.aspx結(jié)尾的(針對(duì)這個(gè)網(wǎng)站),然后把這個(gè)url重定向到http://www.UQC.cn/partersite.aspx?code=eji,也就是說這個(gè)就是最終真正要執(zhí)行的網(wǎng)頁。
這樣,我們通過泛解析和網(wǎng)頁重形象就實(shí)現(xiàn)了泛二級(jí)域名,當(dāng)然也可以通過別的方式實(shí)現(xiàn),比如iis級(jí)別的dll重定向等。