在IIS(web.config中)的基本重定向規則可能看起來像:
<rule name="Token Redirect" stopProcessing="true">
<match url="caam/verifying.*" />
<conditions trackAllCaptures="true">
<add input="{QUERY_STRING}" pattern="&?(token=[^&]+)&?" />
<add input="{REQUEST_URI}" pattern="default.aspx" negate="true" />
</conditions>
<action type="Redirect" url="/caam/verifying/default.aspx?{C:1}" appendQueryString="false" redirectType="Found" />
</rule>
你可以改變比賽的網址,但基本上這是匹配啓動中國汽車工業協會/驗證一切。然後它(另外)檢查查詢字符串中是否有「token =」,並捕獲它的值(它將進入捕獲1,因爲這裏沒有別的東西,例如{C:1})。
然後,我們輸出重定向爲/caam/verifying/default.aspx?{C:1}
(例如,{C:1}爲「token = 12345」)。
請注意,如果URL匹配(caam/verifying部分)和參數匹配(這裏有「token =」部分),則此規則只會被觸發 - 否則此重定向規則會被跳過。
編輯
我添加了一個額外的「否定」規則不比賽反對「的Default.aspx」頁面。
我應用該解決方案,它正確地形成了URL,但是當我啓用該規則這給了錯誤 - 「此網頁有重定向循環 ERR_TOO_MANY_REDIRECTS」 –
見編輯 - 這樣的規則不我已經添加了一個附加條件匹配default.aspx頁面 - 我認爲這是導致規則不斷匹配之前,所以不斷返回重定向代碼。 –
現在這個工作。謝謝你的幫助。 –