Reputation: 16854
I'm stressing out trying to create a url rewriter.net rule for my web site.
I have a link
http://localhost/Pages/CategoryList.aspx?ID=2&Page=1
And I want replace it by this
http://localhost/Category/2.aspx?Page=1
I tried the following:
<rewrite url="~/Category/(.+).aspx?Page=(.+)" to="~/Pages/CategoryList.aspx?ID=$1&Page=$2" />
But it didn't work.
Can anybody help me?
Upvotes: 2
Views: 1902
Reputation: 7536
This will work
<rewrite url="~/Category/(.+).aspx(\?(.*))?" to="~/Pages/CategoryList.aspx?ID=$1&$3" />
Upvotes: 0
Reputation: 1739
Try this:
<rewrite url="~/Category/([0-9]+)\.aspx\?Page=([0-9]+)" to="~/Pages/CategoryList.aspx?ID=$1&Page=$2" />
Or better(shorter):
<rewrite url="~/Category/(d+)\.aspx\?Page=(d+)" to="~/Pages/CategoryList.aspx?ID=$1&Page=$2" />
I'm thinking that the "." you're using is too greedy and matches too much.
Upvotes: 2
Reputation: 57946
Try this:
<rewrite url="~/Category/(.+)\.aspx\?Page=(.+)"
to ="~/Pages/CategoryList.aspx?ID=$1&Page=$2" />
Upvotes: 0
Reputation: 11079
you forgot to escape some special symbols ('.' and '?'), and not sure about the '~':
<rewrite url=".*/Category/(.+)\.aspx\?Page=(.+)" to="/Pages/CategoryList.aspx?ID=$1&Page=$2" />
Upvotes: 0
Reputation: 63445
Did you add:
<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>
to your web.config
file?
Upvotes: 0