2012-03-10 92 views
0

我正在重建現有的asp應用程序的一部分,新的部分是使用MVC構建的。IIS7 Url重寫未被使用

其中一個我現在沒有觸及的舊屏幕需要指向一個新的位置。出於這個原因,我已經建立了一個URL在IIS重定向機水平以下正則表達式:

^workflows/screen\.asp\?objectid=([0-9]+)(.*) 

當使用測試儀我可以看到,這是一個正確的表情惹人必要的項目,我需要發送用戶到以下新網址:

http://domainname/newapppart/select/{R:1} 

當我在瀏覽器中測試它,雖然它好像重寫規則甚至沒有到位,因爲我仍然發送到舊的頁面。

回答

1

查詢字符串不包含在主匹配字符串中,您必須使用Conditions來評估它。

<rule name="MyRule" stopProcessing="true"> 
    <match url="^workflows/screen\.asp$" /> 
    <conditions trackAllCaptures="true"> 
     <add input="{QUERY_STRING}" pattern="objectid=([0-9]+).*" /> 
    </conditions> 
    <action type="Rewrite" url="http://domainname/newapppart/select/{C:1}" appendQueryString="false" /> 
</rule>