詳解Win2003 IIS6.0 301重定向帶參數的問題(轉摘)

 

  網站更換域名,把舊域名用301指到新域名來。web

  從iis中設置url永久轉向就能夠,看上去很容易,用了一下子才發現,參數都沒有帶上。數據庫

  從微軟網站上找到以下說明,果真好使:編程

  重定向參考 (IIS 6.0)服務器

  重定向客戶端請求是確保用戶獲得正確頁面的一種方法,它適用於站點正在建設之中或已改變標識的狀況。您能夠將客戶端請求重定向到同一 Web 服務器上的某個目錄,或者重定向到另外一個 URL。網站

  配置 URL 和通配符重定向url

  能夠採用編程方式配置重定向到 URL 以及通配符重定向。使用重定向變量和標誌能夠經過更改 HttpRedirect 配置數據庫屬性來指定目標和行爲。spa

  如下示例顯示了一個簡單重定向字符串的格式。.net

  http://DestinationURL[,Flag[s]]orm

  其中,DestinationURL 能夠包括如下重定向變量,以將初始 URL 中相關的部分傳遞給目標 URL。在單個重定向字符串中可使用多個變量。htm

  變量 描述 示例

  $S

  將請求的 URL 的後綴傳遞給新的 URL。後綴是用重定向的 URL 代替以後,初始 URL 中所保留的部分。

  若是未設置 EXACT_DESTINATION 標誌,則結果目標 URL 的名稱將具備所請求文件的名稱(做爲文件夾名稱)以及文件名自己。

  若是映射到如下網站的虛擬目錄:

  http://topsage/******s

  配置爲重定向到如下確切的 URL:

  http://topsage/New******s$S

  對如下 URL 的新請求:

  http://topsage/******s/Program.exe

  將自動重定向至如下 URL:

  http://topsage/New******s/Program.exe

  $P

  將初始 URL 中的參數(如 querystring 參數)傳遞至新的 URL,不包括問號 (?)。 若是映射到如下網站的虛擬目錄:

  http://topsage/******s

  配置爲重定向到如下 URL:

  http://topsage/New******s$P

  對如下 URL 的新請求:

  http://topsage/******s/File.asp?var1=5&var2=6

  將自動重定向至如下 URL:

  http://topsage/New******svar1=5&var2=6

  $Q

  將初始 URL 中的參數(如 querystring 參數)傳遞至新的 URL,包括問號 (?)。 若是映射到如下網站的虛擬目錄:

  http://topsage/******s

  配置爲重定向到如下確切的 URL:

  http://topsage/New******s$S$Q

  對如下 URL 的新請求:

  http://topsage/******s/File.asp?var1=5&var2=6

  將自動重定向至如下 URL:

  http://topsage/New******s/File.asp?var1=5&var2=6

  $V

  傳遞請求的 URL,不包括服務器名和任何參數。要包含參數,可以使用 $P 或 $Q 變量及 $V 變量。

  若是未設置 EXACT_DESTINATION 標誌,則結果目標 URL 的名稱將具備所請求文件的名稱(做爲文件夾名稱)以及文件名自己。

  若是映射到如下網站的虛擬目錄:

  http://topsage/******s

  配置爲重定向到如下確切的 URL:

  http://dajialuntan$V

  對如下 URL 的新請求:

  http://topsage/******s/File.asp

  將自動重定向至如下 URL:

  http://dajialuntan/******s/File.asp

  使用通配符重定向

  可使用重定向通配符匹配原來 URL 中的任意數目的字符。目標 URL 以星號 (*) 和分號 (;) 開頭,成對的通配符和目標 URL 之間用分號分隔。如下示例顯示了一個使用通配符的重定向字符串的格式。

  *; Wildcard1; Destination1[; Wildcard2; Destination2][, Flags]

  其中,WildcardN 能夠包括星號 (*) 以匹配初始 URL 中任何數量的字符,並使用下表中定義的變量($0 到 $9)將這些字符傳遞給 DestinationN。

  變量 描述 示例

  $0 到 $9 傳遞被請求的 URL 中與指定的通配符相匹配的部分。對於每一個 Wildcard;Destination 集,通配符必須從 $0 開始。重定向字符串必須附加 EXACT_DESTINATION 標誌。

  若是映射到如下網站的虛擬目錄:

  http://topsage/******s

  使用如下重定向字符串進行配置:

  *; /******s/*_in.asp; /New******s/$0.dll; /******s/*_out.asp; http://dajialuntan/New******s/$0.dll

  對如下 URL 的新請求:

  http://topsage/******s/data_in.asp

  http://topsage/******s/data_out.asp

  將分別自動重定向至如下 URL:

  http://topsage/New******s/data.dll

  http://dajialuntan/New******s/data.dll

  !

  不容許重定向。

  若是當父目錄配置爲重定向時要使文件或子目錄不被重定向,那麼可使用該變量。

  若是映射到如下網站的虛擬目錄:

  http://topsage/******s

  配置爲重定向到如下網站以外的位置:

  http://topsage/******s/Commerce/Accounts

  則必須免除重定向,以編程方式將被免除文件夾的重定向字符串設置爲:

  *;!

  例如,要將全部對 /******s/Filename.stm 的請求重定向到名爲 Default.stm 的文件,並將全部對 /******s/Filename.htm 的請求重定向到 Default.htm 文件,請對 /******s 虛擬目錄使用如下重定向請求:

  *;Filename.stm;/Default.stm/Filename.htm;/Default.htm

  使用重定向標誌

  如下標誌用於擴充 URL 或通配符格式的重定向字符串。容許多個標誌。標誌以編程方式附加到 HttpRedirect 中的重定向字符串中,或經過選中「IIS 管理器」中的複選框進行配置。

  標誌 用戶界面複選框 描述

  EXACT_DESTINATION 上面輸入的準確 URL

  表示爲 Destination 提供的值應被視做絕對目標位置。

  CHILD_ONLY

  該目錄如下的目錄

  通知 IIS 應只發生一次重定向,由於目標位置爲初始 URL 的子目錄。此標誌避免了循環。而且,僅當請求是重定向到初始 URL 的子文件夾或文件時,此標誌才指示 IIS 重定向該請求。

  PERMANENT

  資源的永久重定向 表示永久重定向該資源。

  TEMPORARY

  清除「資源的永久重定向」複選框 表示暫時重定向該資源。

  綜述:實現網站的總體301跳轉,設置 iis站點屬性》主目錄》重定向到URl 寫入http://www.topsage.com$S$Q 而且選中 上面輸入的準確URL和資源的永久重定向。便可使舊域名的網址參數完整傳遞到新的域名。

轉摘來自:http://blog.csdn.net/zibinghy/article/details/7743708

相關文章
相關標籤/搜索