Reputation: 4763
I am using the flowing rewrite map:
<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>
Instead of writing each area.aspx
page, I would like to transfer the page 'id' value as a parameter to the key value.
How can I do this?
Thanks.
Upvotes: 0
Views: 500
Reputation: 16192
rewritemap
is used to associate 2 urls when there is no relation between urls. In your case, you could use regular expression matching.
The following rule should work
<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>
Upvotes: 1