天天看點

drupal add css,.htaccess實作301重定向的執行個體講解

301重定向是當使用者或搜尋引擎向網站伺服器發出浏覽請求時,伺服器傳回的HTTP資料流中頭資訊(header)中的狀态碼的一種,表示本網頁永久性轉移到另一個位址。301重定向主要是将需要轉移的網址重定向另一個新的網址上,并且是永久性轉移。當網站的域名發生變更後,搜尋引擎隻對新網址進行索引,同時又會把舊位址下原有的外部連結如數轉移到新位址下,進而不會讓網站的排名因為網址變更而受到絲毫影響301重定向無疑是最佳的辦法。

一:通過.htaccess做重定向

重定向旨在使域名唯一,是網站SEO必須要做的,重定向www.zhishitu.com到 zhishitu.com也是出于同樣的原因,隻是形式不同。

打開.htaccess檔案,加入以下規則。(下面的規則是針對主域名的,子域名要修改)

1.重定向zhishitu.com到 www.zhishitu.comRewriteEngine On     RewriteCond %{HTTP_HOST} ^zhishitu.com [NC]    RewriteRule ^(.*)$ http://www.zhishitu.com/$1 [L,R=301]

2.重定向www.zhishitu.com到zhishitu.comRewriteEngine On    RewriteCond %{HTTP_HOST} !zhishitu.com$ [NC]     RewriteRule ^(.*)$ http://zhishitu.com/$1 [L,R=301]

3.重定向zhishilun.com到www.zhishitu.comRewriteEngine On    RewriteCond %{HTTP_HOST} !zhishilun.com$ [NC]    RewriteRule ^(.*)$ http://www.zhishitu.com/$1 [L,R=301]

4.重定向 zhishilun.com to zhishitu.comRewriteEngine On    RewriteBase /    RewriteCond %{HTTP_HOST} !zhishilun.com$ [NC]    RewriteRule ^(.*)$ http://zhishitu.com/$1 [L,R=301]

5.重定向zhishilun.com/file/file.php 到 zhishitu.com/otherfile/other.phpRewriteCond %{HTTP_HOST} ^www.zhishilun.com$    RewriteRule ^file/file.php$ http://www.zhishitu.com/otherfile/other.php [R=301,L]

二:通過PHP做301重定向

1.PHP下的301重定向$the_host = $_SERVER['REQUEST_URI'];//取得目前域名 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] :'';//判斷位址後面是否有參數 if($the_host != 'www.xncre.com')//把這裡的域名換上你想要的 { header('HTTP/1.1 301 Moved Permanently');//發出301頭部 header('Location: http://www.xncre.com'.$request_uri);//跳轉到你希望的位址格式 }

2.ASP下的301重定向

第一步、建立301.asp内容如下:

将301.asp上傳到網站根目錄,并在虛拟主機控制台将301.asp添加到預設首頁最前面!

3.ASP .NET下的301重定向

在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.zhishitu.com/”);HttpContext.Current.Response.End();}//注意,以上代碼隻适合動态網站,靜态網站無效!

4、JSP下的301重定向

關于網站如何用程式做301永久重定向,就說這麼多,301永久重定向其他方法還有很多,有興趣可以自己網上找下。

提示:如果傳回報頭中隻有Location,但沒有明确提到狀态代碼時,就意味着一個302臨時重定向。請謹記于心。例如下面都是302重定向:

PHP 下的302重定向 php header("Location: http://www.zhishitu.com");?>

Asp 下的302重定向

ASP.NET 302重定向

JSP 下的302重定向

總結:301重定向是一種對搜尋引擎最友好的網址轉向方法。在衆多重定向技術中,301永久性重定向是最為安全的一種途徑,也是極為理想的一款解決方案。無論是URL永久性改變,還是多種格式URL規範化都離不開301重定向。