2011-12-01 55 views
0

在IIS 7.5我如何可以重定向網址重寫:重定向通過查詢參數

http://localhost/en/test?id=tool-37 

http://localhost/en/tool/37 

我寫這條規則,但它不起作用

<rule name="Tool-Diseases" stopProcessing="true"> 
    <match url="(.+)/test.+id=([0-9]+)" /> 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> 
    <action type="Redirect" url="{R:1}/tool/{R:2}" appendQueryString="true" /> 
</rule> 

謝謝

回答

0

URL和QueryString在IIS重寫模塊中單獨處理。

例如,如果請求爲這個URL製成:

  • 規則圖案獲取URL字符串內容/ Default.aspx的作爲:http://www.mysite.com/content/default.aspx?tabid=2&subtabid=3,以及重寫規則被在網站上的水平,那麼定義輸入
  • QUERY_STRING服務器變量包含tabid = 2 & subtabid = 3。
  • HTTP_HOST服務器變量包含www.mysite.com。
  • SERVER_PORT服務器變量包含80.
  • SERVER_PORT_SECURE服務器變量包含0且HTTPS包含OFF。
  • 的REQUEST_URI服務器變量包含/default.aspx?tabid=2 & subtabid = 3

您可以輸入正則表達式來在IIS重寫設置「服務器變量」部分匹配您的查詢字符串。