我将停用旧网站http://extranet.contoso.com但还有一项特定功能需要一段时间。我试图实现的是将所有请求重定向到https://contoso.com/new-extranet-info-page/,不包括请求http://extranet.contoso.com/printdoc.aspx?ID=1234567&AccountID=vd3l1bn&UserID=Matt它应该仍会通过而不被重定向。我确信这是一件简单而明显的事情,但我搞不懂。这会将所有请求重定向到信息页面,就好像否定被忽略了一样。
<rule name="Redirect to new service" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_URI}" pattern="^/printdoc\.aspx(\?.*)?$" negate="true" />
<add input="{HTTP_HOST}" pattern="^extranet\.contoso\.com$" />
</conditions>
<action type="Redirect" url="https://contoso.com/new-extranet-info-page/" appendQueryString="false" />
</rule>
当我针对 /printdoc.aspx?ID=1234567&AccountID=vd3l1bn&UserID=Matt 进行测试时,否定通过了验证。我尝试禁用任何其他存在的重写规则,但没有效果。