[试图弄清楚如何对查询字符串进行通配符。现在可以使用,但必须完全匹配。
我有此重写规则。
<rule name="Redirect rule1 for Redirects ReSv">
<match url=".*" />
<conditions>
<add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="true" />
</rule>
我的重写图就像:
<rewriteMaps>
<rewriteMap name="Redirects">
<add key="/contact-us.aspx" value="/contact/" />
<add key="/contact-us/request-information.aspx" value="/contact/" />
</rewriteMap>
</rewriteMaps>
[尝试获得如下内容:/contact-us.aspx?q=t&1=2
重定向到:/联系/并包含querystring?所以../ contact /?q = t&1 = 2
请我们{URL}变量而不是{REQUEST_URI}。然后,Rewritemap将能够对查询字符串进行通配符。
<rule name="Redirect rule1 for Redirects ReSv" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{Redirects:{URL}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="true" redirectType="Permanent" />
</rule>