一、安裝HTTP 重定向
在安裝/解除安裝的打開和關閉windows功能中“Internet資訊服務”\"網際網路服務"\“常見http功能”\"Http重定向"勾選,此功能便安裝上了。
二、重定向參數設定說明
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重定向跳轉處理了。
重定向用戶端請求是確定使用者得到正确頁面的一種方法,它适用于站點正在建設之中或已改變辨別的情況。您可以将用戶端請求重定向到同一 Web 伺服器上的某個目錄,或者重定向到另一個 URL。
配置 URL 和通配符重定向
可以采用程式設計方式配置重定向到 URL 以及通配符重定向。使用重定向變量和标志可以通過更改 HttpRedirect 配置資料庫屬性來指定目标和行為。
以下示例顯示了一個簡單重定向字元串的格式。
http://DestinationURL[,Flag[s]]
其中,DestinationURL 可以包括以下重定向變量,以将初始 URL 中相關的部分傳遞給目标 URL。在單個重定向字元串中可以使用多個變量。
變量
描述
示例
$S
将請求的 URL 的字尾傳遞給新的 URL。字尾是用重定向的 URL 代替之後,初始 URL 中所保留的部分。
如果未設定 EXACT_DESTINATION 标志,則結果目标 URL 的名稱将具有所請求檔案的名稱(作為檔案夾名稱)以及檔案名本身。
如果映射到以下網站的虛拟目錄:
http://fabrikam/Scripts
配置為重定向到以下确切的 URL:
http://fabrikam/NewScripts$S
對以下 URL 的新請求:
http://fabrikam/Scripts/Program.exe
将自動重定向至以下 URL:
http://fabrikam/NewScripts/Program.exe
$P
将初始 URL 中的參數(如 querystring 參數)傳遞至新的 URL,不包括問号 (?)。
配置為重定向到以下 URL:
http://fabrikam/NewScripts$P
http://fabrikam/Scripts/File.asp?var1=5&var2=6
http://fabrikam/NewScriptsvar1=5&var2=6
$Q
将初始 URL 中的參數(如 querystring 參數)傳遞至新的 URL,包括問号 (?)。
http://fabrikam/NewScripts$S$Q
http://fabrikam/NewScripts/File.asp?var1=5&var2=6
$V
傳遞請求的 URL,不包括伺服器名和任何參數。要包含參數,可使用 $P 或 $Q 變量及 $V 變量。
http://contoso$V
http://fabrikam/Scripts/File.asp
http://contoso/Scripts/File.asp
使用通配符重定向
可以使用重定向通配符比對原來 URL 中的任意數目的字元。目标 URL 以星号 (*) 和分号 (;) 開頭,成對的通配符和目标 URL 之間用分号分隔。以下示例顯示了一個使用通配符的重定向字元串的格式。
*; Wildcard1; Destination1[; Wildcard2; Destination2][, Flags]
其中,WildcardN 可以包括星号 (*) 以比對初始 URL 中任何數量的字元,并使用下表中定義的變量($0 到 $9)将這些字元傳遞給 DestinationN。
$0 到 $9
傳遞被請求的 URL 中與指定的通配符相比對的部分。對于每個 Wildcard;Destination 集,通配符必須從 $0 開始。重定向字元串必須附加 EXACT_DESTINATION 标志。
使用以下重定向字元串進行配置:
*; /Scripts/*_in.asp; /NewScripts/$0.dll; /Scripts/*_out.asp; http://contoso/NewScripts/$0.dll
http://fabrikam/Scripts/data_in.asp
http://fabrikam/Scripts/data_out.asp
将分别自動重定向至以下 URL:
http://fabrikam/NewScripts/data.dll
http://contoso/NewScripts/data.dll
!
不允許重定向。
如果當父目錄配置為重定向時要使檔案或子目錄不被重定向,那麼可以使用該變量。
配置為重定向到以下網站之外的位置:
http://fabrikam/Scripts/Commerce/Accounts
則必須免除重定向,以程式設計方式将被免除檔案夾的重定向字元串設定為:
*;!
例如,要将所有對 /Scripts/Filename.stm 的請求重定向到名為 Default.stm 的檔案,并将所有對 /Scripts/Filename.htm 的請求重定向到 Default.htm 檔案,請對 /Scripts 虛拟目錄使用以下重定向請求:
*;Filename.stm;/Default.stm/Filename.htm;/Default.htm
使用重定向标志
以下标志用于擴充 URL 或通配符格式的重定向字元串。允許多個标志。标志以程式設計方式附加到 HttpRedirect 中的重定向字元串中,或通過選中“IIS 管理器”中的複選框進行配置。
标志
使用者界面複選框
EXACT_DESTINATION
上面輸入的準确 URL
表示為 Destination 提供的值應被視作絕對目标位置。
CHILD_ONLY
該目錄以下的目錄
通知 IIS 應隻發生一次重定向,因為目标位置為初始 URL 的子目錄。此标志避免了循環。并且,僅當請求是重定向到初始 URL 的子檔案夾或檔案時,此标志才訓示 IIS 重定向該請求。
PERMANENT
資源的永久重定向
表示永久重定向該資源。
TEMPORARY
清除“資源的永久重定向”複選框
表示暫時重定向該資源。
本文轉自 yuxye 51CTO部落格,原文連結:http://blog.51cto.com/fishvsfrog/1715593