我有附加的重定向和重寫規則。基本上,www.foo.com/vehicles/vehicle-detail.aspx?stockno=123456被重寫爲www.foo.com/123456。這符合我所制定的規則的預期。現在,如果我嘗試瀏覽不存在的頁面(即www.foo.com/test.aspx),則重寫規則有資格,IIS嘗試將請求轉發到www.foo.com/vehicles/vehicle-detail。 aspx(沒有查詢字符串)。在vehicle-detail.aspx頁面中,如果querystring中沒有有效的stockno,那麼我有代碼重定向到主頁,所以這就是發生了什麼。我不知道如何糾正規則,以免條件不符合規定。我附加了失敗請求跟蹤的規則和屏幕截圖,使我能夠查看請求/重寫規則。URL重寫模塊IIS7不正確處理重寫規則
<rule name="Redirect StockNo" enabled="true" stopProcessing="true">
<match url="^Vehicles/Vehicle-Detail\.aspx$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^stockno=([^=&]+)$" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
<rule name="Rewrite StockNo" enabled="true" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="Vehicles/Vehicle-Detail.aspx?stockno={R:1}" />
非常感謝。你的迴應讓我想到如何配置我需要的東西。謝謝!! – obautista