<span style="font-family:'宋體';font-size:10.5pt;"></span>
關(guān)于百度等搜索引擎對于是否帶"www"前綴的域名的識別問題:即搜索引擎會將www.abc.com和abc.com識別為不同的兩個域名,這樣做的后果就是分散了對網(wǎng)站的關(guān)注度,不利于網(wǎng)站的宣傳和推廣。
僅僅是通過Response.Redirect方法來重定向該連接,雖然可以將連接進(jìn)行重定向,但是無法解決搜索引擎的識別分散問題的;此問題可通過301重定向來進(jìn)行解決,具體在ASP.NET中可通過如下方法來處理:
private void CheckTopDomainName(HttpContext context) { Uri url = context.Request.Url; string host = url.Host.ToLower(); int count = host.Split('.').Length; bool doubleDomainName = host.EndsWith(".com.cn", StringComparison.CurrentCultureIgnoreCase) || host.EndsWith(".net.cn", StringComparison.CurrentCultureIgnoreCase) || host.EndsWith(".gov.cn", StringComparison.CurrentCultureIgnoreCase) || host.EndsWith(".org.cn", StringComparison.CurrentCultureIgnoreCase); if (count == 2 || (count == 3 && doubleDomainName)) { context.Response.Status = "301 Moved Permanently"; // 避免替換掉后面的參數(shù)中的域名 context.Response.AddHeader( "Location", url.AbsoluteUri.Replace( string.Format("http://{0}", host), string.Format("http://www.{0}", host) ) ); } 更多關(guān)于ASP.NET301實現(xiàn)的方法實例:
因為IIS設(shè)置301需要在服務(wù)器中配置很麻煩,所以ME選擇了在程序中實現(xiàn)。
程序中實現(xiàn)有個缺點就是執(zhí)行效率沒有在IIS服務(wù)器中速度快。
當(dāng)然了,這里說的只是適合動態(tài)網(wǎng)站的,如果都是.html靜態(tài)文件就飄過吧!
好了還是直接上代碼吧:
網(wǎng)頁首頁文件index.aspx后臺代碼
//判斷是否是www.開頭,如果不是301調(diào)整到www.域名 if (!System.Web.HttpContext.Current.Request.Url.ToString().StartsWith("http://www.")) { //301 重定向到 /目錄下 HttpContext.Current.Response.StatusCode = 301; HttpContext.Current.Response.Status = "301 Moved Permanently"; HttpContext.Current.Response.AddHeader("Location", "http://www.qinquan.org/"); HttpContext.Current.Response.End(); }這里因為是我的獨立站點,所以直接寫www.了。如果是二級域名就需要根據(jù)需求自己修過了。
欄目頁/內(nèi)容頁代碼:
//如果url結(jié)尾不是以/符號結(jié)尾的,同樣301到末尾增加/符號。
if (!System.Web.HttpContext.Current.Request.RawUrl.EndsWith("/")) { //301 重定向到 /目錄下 HttpContext.Current.Response.StatusCode = 301; HttpContext.Current.Response.Status = "301 Moved Permanently"; HttpContext.Current.Response.AddHeader("Location", System.Web.HttpContext.Current.Request.RawUrl + "/"); HttpContext.Current.Response.End(); }
新聞熱點
疑難解答
圖片精選