如何正確301重定向




301重定向是什么意思?
在地址欄里輸入:域名 XXXX.com 可以看到自動跳轉到 www.xxxxx.com 這樣的效果就是301重定向。相反過來也是一樣的。
為什么要做301重定向?
一、為了網址URL的標準化
1,我們經常遇到的就是帶www的域名和不帶www的域名301重定向問題。在未做301重定向之前,無論是用戶或搜索引擎蜘蛛,通過這兩個網址是都能訪
問網
站的同一個頁面。對于用戶可能不太在意,因為無論用哪個網址都能訪問。但是對于搜索引擎來說就是2個不同的URL,意味著2個頁面的權重就要分別計算了,
最終結果就是網站權重的分散。那么從SEO的角度分析,鏡像頁面的存在危害也很大。
二、網站啟 用了新域名
由于某些原因網站啟用了新域名,老域名這時候也需要301重定向到新的域名。這樣可以告訴搜索引擎網址啟用了新的網址或者是用戶訪問原來的網址不至于打不
開而損失了流量。我們還關心的一個問題就是老域名的權重是否能傳遞?權重的傳遞是需要一個過程的,一般谷歌的反應比百度迅速。至于權重是否能夠完全傳遞保
定SEO認為是不會的。至少我還沒有看到關于301重定向能夠完全傳遞權重這一說法的有效案例。
三、網站內部結構的調整
SEO站內優化中涉及到目錄結構的優化,有些目錄網址需要進行301重定向。還有內部一些錯誤的頁面也可以做301重定向,提高用戶體驗。
下面介紹301重定向的方法!
(咨詢主機商是否支持)如果支持,則先2個域名都解析到同一個 1、l inux的虛擬主機Apache的服務器,需要支持.htaccess 這個文件。IP,然后在.htaccess文件開始處加入一下規則:
代碼:
RewriteCond %{http_host} ^hongtaoseo.com [NC]
RewriteRule ^(.*)$ http://www.hongtaoseo.com/$1 [R=301,L]
須注意的就是:.htaccess這個文件基本在傳到本地是不能直接被修改的,我們可以采用修改成.htaccess.txt的形式來進行訪問編輯,把要
寫的代碼寫好之后,直接把.htaccess.txt傳上空間,再把.htaccess.txt直接用FTP修改成.htaccess文件名,這樣就可以
升效啦!
2、window的虛擬主機IIS的服務器,需要有安裝 ISAPI_Rewrite這個組件。 (咨詢主機商是否支持)如果支持,則先2個域名都解析到同一個IP,然后httpd.ini文件開始處加入以下規則:
代碼:
RewriteCond Host: ^XXXXX\.com$
RewriteRule (.*) http\://www\.XXXXX.COM\.com$1 [R,I]
如果采用以上代碼不可行,請你嘗試下這個代碼:
代碼:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^XXXX\.com$
RewriteRule (.*) http\://www\.XXXX\.com$1 [I,RP]
3.IIS服務器下設置301重定向的方法,適用于使用Window網絡服務器的用戶,以http://xxx.com/指向到http://www.xxx.com/為例
首先新建一個站點,對應目錄如D:\wwwroot\301web。添加一個index.html文件和404.html文件,然后綁定要301跳轉的域名http://xxx.com
4.在IIS中選擇剛才我們建立的站點,右鍵,屬性,主目錄,選擇重定向到,輸入網址如:http://www.xxx.com/,并選擇永久重定向選項,就可以了。
asp 301重定向的方法:可以在在 default.asp或index.asp 文件 的最頂部添加代碼
<%Response.Status="301 Moved Permanently"Response.AddHeader "Location","http://www.XXX.com/"Response.End%>
php 301重定向的方法:可以在index.php
文件的頂部添加代碼<?php$the_host = $_SERVER['HTTP_HOST'];//取得當前域名
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI']
: '';//判斷地址后面是否有參數 if($the_host != 'www.XXX.com')//跳轉到指向的地址 {
header('HTTP/1.1 301 Moved Permanently');//發出301頭部
header('Location: http://www.XXX.com/'.$request_uri);//該指向地址的的格式}?>
4.通過301重定向插件進行設置
wordpress強大的插件功能,比如301重定向插件slredirectplugin,安裝后在后臺進行相應的設置就可以搞定301重定向了。WP的301重定向就這么簡單!
為了避免出現錯誤可以把.htaccess文件備份一份哦!
通過以上的幾種方法我們進行301重定向的設置,但是成功與否還要進行檢測。首先我們可以借助檢測工具,通過返回的Http狀態碼來判斷是否成功。返回的狀態碼是301表示設置成功。