欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET實現(xiàn)301重定向方法

 更新時間:2018年04月22日 17:29:08   投稿:laozhang  
我們給大家整理了關于ASP.NET中實現(xiàn)301重定向的方法以及小技巧總結,有興趣的朋友可以操作試試。
<span style="font-family:'宋體';font-size:10.5pt;"></span> 

關于百度等搜索引擎對于是否帶"www"前綴的域名的識別問題:即搜索引擎會將www.abc.com和abc.com識別為不同的兩個域名,這樣做的后果就是分散了對網(wǎng)站的關注度,不利于網(wǎng)站的宣傳和推廣。

僅僅是通過Response.Redirect方法來重定向該連接,雖然可以將連接進行重定向,但是無法解決搜索引擎的識別分散問題的;此問題可通過301重定向來進行解決,具體在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) 
             ) 
           ); 
       } 

更多關于ASP.NET301實現(xiàn)的方法實例:

因為IIS設置301需要在服務器中配置很麻煩,所以ME選擇了在程序中實現(xiàn)。
程序中實現(xiàn)有個缺點就是執(zhí)行效率沒有在IIS服務器中速度快。

當然了,這里說的只是適合動態(tài)網(wǎng)站的,如果都是.html靜態(tài)文件就飄過吧!

好了還是直接上代碼吧:

網(wǎng)頁首頁文件index.aspx后臺代碼

//判斷是否是www.開頭,如果不是301調整到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ù)需求自己修過了。

欄目頁/內容頁代碼:

//如果url結尾不是以/符號結尾的,同樣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(); 
}

相關文章

最新評論