301重點向一直是很多SEOer都接觸過的,我相信很多站在在做301的時候只是去網上找下相關規則,然後改下,可以說很多人並不知道規則的意思,今天本人以“Apache伺服器」和「IIS伺服器」為例就給大家分享下,如有不對,還請原諒。
如果網站伺服器是Apache,在.htaccess檔案開始處加入規則(如果沒權限修改, 請聯絡服務供應商協助修改):
RewriteCond %{http_host} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
{HTTP_HOST}是伺服器變數
^是符合輸入字串的開始位置。
$是符合輸入字串的結束位置。
R=301就是執行永久重定向,由於R還有302的意思,所以這裡強調下R=301,
L是規則結束的意思
一個最常用的正則就是(.*)。它含有兩個元素:一是“點”,表示任意字元;二是“星”,表示先前的全部字元。所以(.*)會符合{REQUEST_URI}的所有字元。 {REQUEST_URI}是URL中出去網域名稱以及「?」符號的所有查詢字符,也是Apache 重寫技術嘗試匹配的字符。
[NC]告訴Apache伺服器忽略正規中的大小寫,它常被用到{HTTP_HOST}伺服器參數上,因為網域裡面是不會區分大小寫的;
如果網站伺服器是IIS,要使用ISAPI_Rewrite元件,在httpd.ini檔案開始處加入以下規則:
RewriteCond Host: ^domain.com$
RewriteRule (.*) http://www.domain.com$1 [R,I]
^是符合輸入字串的開始位置。
$是符合輸入字串的結束位置。
(.*)會符合{REQUEST_URI}的所有字元。
I是不管大小寫強行指定字元匹配,這個FLAG影響RewriteRule指令和對應的RewriteCond 指令。
R是強制伺服器對客戶端發出重定向指示即時應答,提供目的URl的新位址,重定向規則經常是最後規則。
將下一個字元標記為一個特殊字元、或一個原義字元、或一個後向引用、或一個八進位轉義符。
註:以上程式碼domain.com皆為範例,如有描述不正確也請指出,本文由杭州婚外情調查公司http://www.hydc007.com站長撰寫,轉載請保留。
感謝杭州私家偵探的投稿