大部分的小站長做網站用的都是虛擬主機,而Linux主機還好說,可以利用.htaccess文件寫偽靜態規則,而對於Windows虛擬主機的站長就頭疼了,因為大部分是沒有IIS的權限,所以自己就做不了了,雖然村夫博客換域名的時候做了301,但也只是實現了首頁301,其他頁面都是302,因為那時候主機功能實在有限。 而現在卻來越多的Windows空間開始支持urlrewrite偽靜態了,是利用httpd.ini實現的,也就是ISAPI_Rewriter組件。ISAPI_Rewriter組件同樣也可以實現防盜鏈這些功能哦。所以這次就來介紹下如何用httpd.ini做301重定向。 要做301你的空間必須滿足2個條件。 1,你的空間要支持偽靜態。 2,你要確保你空間的ISAPI_Rewriter是2.X以上的版本,最好是3.X。為什麼呢?ISAPI_Rewriter 1.3 版本不能實現301嗎?等會再講。 我先就以我自己的域名舉幾個常用的例子 1,把不帶www的域名重定向到帶www的域名上 這通常是為了提高權重,也就是訪問dccf.me的時候自動跳轉到www.dccf.me,當然dccf.me/*也是會跳到www.dccf.me/*的。 #2.x版本 [ISAPI_Rewriter] RewriteCond Host: ^gtsow\.com$ RewriteRule (.*) http\://www\.gtsow\.com$1 [I,RP] #3.x版本的 RewriteCond %{HTTP:Host} ^gtsow\.com$ RewriteRule (.*) http\://www\.gtsow\.com$1 [NC,R=301] 當然如果你是換了域名要做301重定向的只要把第一行的換成你的老域名就可以了。 2,偽靜態頁面的實現 比如要把文章 www.dccf.me/asp?P=xx 偽成 www.dccf.me/xx.html (XX代表數字) RewriteRule ^/([0-9]+)\.html /asp\?p=$1 [L] 3,不同頁面間的301跳轉 比如要把根目錄的2.html跳轉到3.html #2.x RewriteRule ^/2.html$ http://www.dccf.me/3.html [I,O,RP,L] #3.x RewriteRule ^/2.html$ http://www.dccf.me/3.html [NC,L,R=301,O] 下面回答開頭提出的問題,為什麼要isapi 2.X版以上的。因為1.3版本的只能實現302,302也就是暫時轉向,這對搜索引擎不怎麼友好,當然isapi 1.3版本也是可以實現301的,思路是新建一個301.asp文件,然後302到301.asp文件,301.asp文件放301的代碼。 現在推薦試用3.x版本的,不過現在的空間以預裝1.3版本的為多,2.x次之。
|