ISAPI Rewrite應用技巧與方法

2021-09-08 07:52:00 字數 4704 閱讀 9137

isapi rewrite確實是個好東西,我們不僅用它可以實現簡單的url重寫來實現搜尋引擎友好(sef)的url形式,還可以利用 isapi rewrite 幫您輕鬆實現伺服器端負載平衡以及防盜煉等web功能應用。

1、iis6.0使用isapi_rewrite進行負載均衡

伺服器環境:windows server 2003 + iis 6.0 + isapi_rewrite 3.x

把單數的拷貝到e盤的pictrue目錄下。把雙數的拷貝到f盤的pictrue目錄下。

在iis中新建乙個站點。建立2個虛擬目錄分別指向e盤中的pic目錄和f盤中的pic目錄。名字分別叫pictrue0,pictrue1。

2、利用isapi_rewrite實現防盜煉

防盜煉現在已經有一些解決辦法了。基本上都是利用http的 referer頭做條件判斷。在apache下利用mod_rewrite能很好防止和其他資源被盜鏈。下面是apache下利用mod_rewrite防止***資源被盜鏈的例子。作適當修改,同樣適用於及其他資源的防盜煉處理:

以上方法對靜態網頁也適用。另還有在動態網頁中利用指令碼,進行防盜煉處理。

今天主要說的是iis下利用isapi_rewrite進行防盜處理。isapi_rewrite是helicontech開發利用正規表示式進行url轉換的軟體,與apache的mod_rewrite類似,是專用針對微軟的iis開發的,常用來做**靜態化等應用。

關於isapi_rewrite的安裝和使用,這裡就不多說了。下面說說如何利用isapi_rewrite進行等資源的防盜煉處理。

在httpd.ini中加入以下規則:

原理:利用http返回的 referer 資訊,如果referer引用位址不是來自本站的,則用block.gif代替。block.gif上可以加上提示或警告資訊,從而達到防止被盜鏈。

3、利用isapi_rewrite 實現**301永久重定向

利用isapi_rewrite 實現**301永久重定向原理

301轉向(301 redirect : permanently moved),表示內容永久性轉移到新的url,這樣搜尋引擎就會知道內容已轉移,會去抓取新的url,因此是友好的。我們會在網域名稱解析時,建立乙個空的主機名,來方便使用者輸入**,而省去了www,這樣雖然方便了使用者,但是從seo的角度來說,是違反了url標準化準則的,因此,我們需要對這些不統一的url進行301重定向。

站點網域名稱301重定向

以下規則能夠將sky54.net以301重定向方式轉到www.sky54.net,這樣對於搜尋引擎來說是友好的。

注意:以下以本站網域名稱301重定向的url rewrite rule中包含了isapi_rewrite 2.x與isapi_rewrite 3.x版本2種規則,在你使用時務必確認自己伺服器使用的版本,否則是無法工作的,isapi_rewrite 3.x版本提供了乙個isapi_rewrite 2.x規則轉換成isapi_rewrite 3.x規則的功能。

不同網域名稱間的301永久重定向

當**改版調整二級網域名稱或更換新網域名稱,舊的網域名稱的流量與權重就白白丟掉不是很可惜?用isapi_rewite此時可以幫你實現網域名稱301永久重定向既可以將舊網域名稱的流量與權重重定向至新網域名稱。

比如:將sky54.cn網域名稱利用isapi_rewrite進行301永久重定向至規則同上,詳細的rewrite rule如下:

頁面間的301永久轉向

當我們改變了某些頁面的位址,但是又不想損失流量,就應該使用301轉向,將原來的url重定向到新的url上,這樣搜尋引擎會知道頁面位址變更,而不會以為這個頁面出錯消失了。

規則如下:

] 我們將根目錄下的404.htm使用301轉向重定向到了當然,我們也可以自己指定任意目的位址,可以是站內的(同樣以/pagename的形式)或站點外的(以http://開頭的url形式)。

注釋:這裡出現的o表示對url進行標準化,可能是用來處理unicode編碼的位址(例如包含中文的url)以及querystring的內容,這裡我沒有測試過。而l表示last rule,最後一條規則,也就是後面的重寫規則對他不起作用,防止被其他匹配的規則再次重寫而造成混亂。

最後說明一下:本文所使用的rewriterule(重寫規則)僅適合isapi rewrite 2.x以及3.x版本,因為識別符號(比如[i,rp])在2.0以前版本是不支援的,會在httpd.parse.errors中提示錯誤。而如果你使用的是isapi rewrite 3.0以後的版本,那麼2.x的規則是不相容的,不過3.0版本提供了乙個規則轉換器,我們可以直接將2.0的規則匯入,它會自動轉換成3.0版本的規則。

》進一步了解isapi_rewrite的原理,以及rewrite rule指令格式語法解析。

利用isapi rewrite防盜煉

我們在它後面加上一句 如果想允許所有google子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設定 至此,乙個相當有效的防盜煉系統已經出來了,但如上設定有乙個問題,如果瀏覽者瀏覽了盜鏈頁面後訪問本站頁面,則被盜鏈的快取會影響的正常顯示。把 改...

利用isapi rewrite防盜煉

我們在它後面加上一句 如果想允許所有google子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設定 至此,乙個相當有效的防盜煉系統已經出來了,但如上設定有乙個問題,如果瀏覽者瀏覽了盜鏈頁面後訪問本站頁面,則被盜鏈的快取會影響的正常顯示。把 改...

利用isapi rewrite防盜煉

我們在它後面加上一句 如果想允許所有google子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設定 至此,乙個相當有效的防盜煉系統已經出來了,但如上設定有乙個問題,如果瀏覽者瀏覽了盜鏈頁面後訪問本站頁面,則被盜鏈的快取會影響的正常顯示。把 改...