我正在使用流动的重写地图:
<rewrite>
<rewriteMaps>
<rewriteMap name="OldToNew">
<add key="/area.aspx?id=1" value="/area/1" />
<add key="/area.aspx?id=2" value="/area/2" />
<add key="/area.aspx?id=3" value="/area/3" />
<add key="/area.aspx?id=4" value="/area/4" />
</rewriteMap>
</rewriteMaps>
<rules>
<rule name="Rewrite rule1 for OldToNew">
<match url=".*" />
<conditions>
<add input="{OldToNew:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
我想将页面'id'值作为参数传递给键值,而不是写每个area.aspx
页面。
我该怎么做?
感谢。
答案 0 :(得分:1)
rewritemap
用于关联2个网址。在您的情况下,您可以使用正则表达式匹配。
以下规则应该有效
<rewrite>
<rules>
<rule name="Rule1">
<match url=".*" />
<conditions>
<add input="{REQUEST_URI}" pattern="/area.aspx?id=(.+)" />
</conditions>
<action type="Redirect" url="/area/{C:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>