利用 ISAPI Rewrite 做301永久重定向
[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務,掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!
ISAPI Rewrite確實是個好東西,我們不僅用它可以實現(xiàn)簡單的URL重寫來實現(xiàn)搜索引擎友好(SEF)的URL形式,還可以利用 ISAPI Rewrite 實現(xiàn)防盜鏈,今天,我們再來說一下利用ISAPI Rewrite做301永久轉(zhuǎn)向。
301轉(zhuǎn)向(301 Redirect : Permanently Moved),表示內(nèi)容永久性轉(zhuǎn)移到新的URL,這樣搜索引擎就會知道內(nèi)容已轉(zhuǎn)移,會去抓取新的URL,因此是友好的。
注意,只有支持自定義URL重寫規(guī)則的網(wǎng)站空間才能實現(xiàn)自定義的301轉(zhuǎn)向。
華麟創(chuàng)想的高速網(wǎng)站空間支持自定義httpd.ini,完全可以自定義URL重寫規(guī)則。
域名間的301轉(zhuǎn)向
有時,我們會在域名解析時,創(chuàng)建一個空的主機名,來方便用戶輸入網(wǎng)址,而省去了www。這樣雖然方便了用戶,但是從SEO的角度來說,是違反了URL標準化準則的,因此,我們需要對這些不統(tǒng)一的URL進行301重定向。
以下規(guī)則能夠?qū)?bo.cn以301重定向方式轉(zhuǎn)到www.4bo.cn,這樣對于搜索引擎來說是友好的。
注意:本文列出的代碼中包含了2.x與3.x版本2種規(guī)則,在你使用時務必確認自己使用的版本,否則是無法工作的。
# For ISAPI_Rewrite 2.x
RewriteCond Host: ^4bo\.cn$
RewriteRule (.*) http\://www\.4bo\.cn$1 [I,RP]
# For ISAPI_Rewrite 3.x
RewriteCond %{HTTP:Host} ^4bo\.cn$
RewriteRule (.*) http\://www\.4bo\.cn$1 [NC,R=301]
同樣我們可以將www.supernic.cn轉(zhuǎn)向到www.4bo.cn,道理是一樣的,我們只需要對規(guī)則進行簡單的修改就可以了。
# For ISAPI_Rewrite 2.x
RewriteCond Host: ^www\.supernic\.cn$
RewriteRule (.*) http\://www\.4bo\.cn$1 [I,RP]
# For ISAPI_Rewrite 3.x
RewriteCond %{HTTP:Host} ^www\.supernic\.cn$
RewriteRule (.*) http\://www\.supernic\.cn$1 [NC,R=301]
整個域名下的文件訪問都將被重定向,而不僅僅是首頁而已!
注釋:在規(guī)則最后有[I,RP]標記,通過查閱ISAPI Rewrite 2官方使用手冊我們知道,I表示忽略大小寫,RP表示使用301轉(zhuǎn)向
頁面間的301轉(zhuǎn)向
當我們改變了某些頁面的地址,但是又不想損失流量,就應該使用301轉(zhuǎn)向,將原來的URL重定向到新的URL上,這樣搜索引擎會知道頁面地址變更,而不會以為這個頁面出錯消失了。
規(guī)則如下:
# For ISAPI_Rewrite 2.x
RewriteRule ^/oldpage.htm$ http://www.4bo.cn/index.html [I,O,RP,L]
# For ISAPI_Rewrite 3.x
RewriteRule ^/oldpage.htm$ http://www.4bo.cn/index.html [NC,L,R=301,O]
我們將根目錄下的oldpage.htm使用301轉(zhuǎn)向重定向到了http://www.4bo.cn/index.html,當然,我們也可以自己指定任意目的地址,可以是站內(nèi)的(同樣以/pagename的形式)或站點外的(以http://開頭的URL形式)。
注釋:這里出現(xiàn)的O表示對URL進行標準化,可能是用來處理Unicode編碼的地址(例如包含中文的URL)以及QueryString的內(nèi)容,這里我沒有測試過。而L表示Last Rule,最后一條規(guī)則,也就是后面的重寫規(guī)則對他不起作用,防止被其他匹配的規(guī)則再次重寫而造成混亂。
最后說明一下:本文所使用的RewriteRule(重寫規(guī)則)僅適合ISAPI Rewrite 2.x以及3.x版本,因為標識符(比如[I,RP])在2.0以前版本是不支持的,會在httpd.parse.errors中提示錯誤。
而如果你使用的是ISAPI Rewrite 3.0以后的版本,那么2.x的規(guī)則是不兼容的,不過3.0版本提供了一個規(guī)則轉(zhuǎn)換器,我們可以直接將2.0的規(guī)則導入,它會自動轉(zhuǎn)換成3.0版本的規(guī)則。
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!