一些朋友可能會使用比較苯的方法,在每個 Controller 下都加上 Response.RedirectPermanent 方法。較為簡單的做法是在 Global.axax.cs 中加入下邊的代碼:
| 代碼如下 |
複製代碼 |
protected void Application_BeginRequest(object sender, EventArgs e) { string strUrl = Request.Url.ToString().Trim().ToLower(); if (strUrl.Contains("http://111cn.net")) { Response.RedirectPermanent("http://www.111cn.net"); //not good } } |
好果你比較認真的話,會發現這個寫法有些不太友好,下邊的寫法顯得更好些:
| 代碼如下 |
複製代碼 |
Response.RedirectPermanent(strUrl.Replace("http://111cn.net", "http://www.111cn.net")); |
//good本篇內容非常簡
在.htaccess檔案中增加301重新導向指令
採用“mod_rewrite”技術,形如:
| 代碼如下 |
複製代碼 |
RewriteEngine on RewriteRule ^(.*)$ http://xxx.com/$1 [R=301,L] |
1.重新導向domain.com到www.domain.com
這種重新導向旨在使網域名稱唯一,是網站SEO必須要做的,後面重新導向www.domain.com到domain.com也是出於同樣的原因,只是形式不同。開啟.htaccess檔案,加入以下規則。(下面的規則是針對主網域名稱的,子網域名稱要修改)
| 代碼如下 |
複製代碼 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] |
2.重新導向www.domain.com到domain.com
| 代碼如下 |
複製代碼 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^domain.com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] |
3.重新導向olddomain.com到www.newdomain.com
| 代碼如下 |
複製代碼 |
RewriteEngine On RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301] |
4.重新導向olddomain.com to newdomain.com
| 代碼如下 |
複製代碼 |
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301] |
5.重新導向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
| 代碼如下 |
複製代碼 |
RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L] |
用ASP/PHP實現301重新導向:
ASP:
| 代碼如下 |
複製代碼 |
Response.Status="301 Moved Permanently" Response.AddHeader "Location","http:///" Response.End |
PHP:
| 代碼如下 |
複製代碼 |
header("HTTP/1.1 301 Moved Permanently"); header("Location:http:///"); exit(); |