完美解決IIS和APACHE的301重新導向(帶參數)

來源:互聯網
上載者:User

在5月份的時候,因為對一個網站改版,導致大量連結失效,正好5月底GOOGLE PR大更新,這個網站的PR直接從3降低到2,並且收錄也急劇下滑,可以說網站的大幅度改版是導致本次PR降低的主要因素,後在GOOGLE的網站管理後台也驗證了這個結論,於是趕緊使用JAVASCRIPT進行了404跳轉定向,從實際的測試效果來看,GOOGLE對404跳轉也是支援的,不會懲罰該網站的權值,可是根據IIS日誌分析,感覺BAIDU spider對404的重新導向似乎無動於衷,於是近日乾脆對原失效的連結重新設定301重新導向。

一、IIS 301重新導向設定
通過本次設定IIS的重新導向,感覺還是比較方便的。下面就說一下IIS的重新導向方法,因為網站改版是面向目錄的遷移的,所以不得不瞭解以下幾個微軟的IIS定向參數:

我們在設定URL重新導向的時候是可以使用帶參數形式URL的,因為畢竟經常面對的URL是很多,要是就那麼一兩個頁面301重新導向隨便怎麼整都可以了。

參數1:$S ——傳遞URL的尾碼到新的URL;

參數2:$P——傳遞URL 中的query參數到新的URL,不包括問號(?)

參數3:$Q——傳遞URL中的query參數到新的URL,包括問號(?),,所以在設定URL地址時,後面不要帶問號,比如:

將http://www.jb51.net/catalog.asp?cate=os&page=1,重新導向到http://www.jb51.net/category.php?cate=1&page=1

只需要在IIS裡設定catelog.asp檔案設定重新導向到 category.php$Q。

參數4:$V——傳遞請求的URL,但是不包括伺服器名和任何參數。

另外還有使用萬用字元重新導向,這裡不常用暫時不講解。

因為我們重新導向多個目錄,所以,如果單個去設定不同的定向檔案,那麼IIS設定起來將會非常麻煩,但是如果都定向到一個檔案然後再重新導向,又會因為$_SERVER['HTTP_REFERER']無法取道對應的引用頁面,結果為空白,所以不得不採用上面的參數進行傳遞,這時候只需要加個參數就可以解決引用頁面的傳遞問題,比如/301.php?go=$V,這樣就可以直接在php檔案中進行URL 301重新導向跳轉處理了。

樣本: 複製代碼 代碼如下:<?php
$url=substr($_GET['go'],1);//去掉最前面的斜杠
$e=explode('/',$url);//分割字串
//判斷並設定新的URL
$newurl='http://www.jb51.net';
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$newurl);
?>

二、APACHE 301重新導向
以上處理是面向IIS的,如果伺服器採用APACHE,那麼要比起IIS重新導向要簡單的多,只需要修改.htaccess檔案,單獨定向即可,當然htaccess檔案也是支援Regex的,可以根據實際情況使用。

目錄重新導向樣本: 複製代碼 代碼如下:<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
Options Indexes
ErrorDocument 404 /index.html
DirectoryIndex index.html default.html index.php index.htm default.htm
Redirect permanent /abc/ http://www.jb51.net/
Redirect permanent /cde/ http://www.jb51.net/
Redirect permanent /fgh/ http://www.jb51.net/
order deny,allow

這樣就可以實現APACHE 的301永久重新導向。

全站301重新導向樣本: 複製代碼 代碼如下:Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://www.jb51.net/$1 [L,R=301]

特別提醒,完成301重新導向設定後一定要實際測試一下到底是否正確返回301狀態代碼,附一個測試地址:

http://www.seoconsultants.com/tools/headers.asp

以上地址在輸入測試URL之後,會自動跳轉到測試結果位置,即時查看頁面的返回狀態代碼,非常方便。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.