I want to rewrite url like below http://www.abc.com/ac/ac0008 to http://www.abc.com/temp/urlRewriter.aspx?oldurl=/ac/ac0008
and
http://www.abc.com/ac/ac0008?vmid=233 to http://www.abc.com/temp/urlRewriter.aspx?oldurl=/ac/ac0008/vmid=233
so, In my urlrewritingnet rule is like this
<add name="ac_redir1"
virtualUrl="^~/ac/ac0008?vmid=(.*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/temp/UrlRewriter.aspx?bike=y&oldUrl=/ac/ac0008?vmid=$1"
ignoreCase="true" />
But this rule works for 1st url only, for 2nd url it sends only /ac/ac0008 and it doesn't send like this /ac/ac0008/vmid=233
Can anyone give me a sample rule for rewriting url with querystring parameters. Then I can get an idea to do this.
Thanks.
I think you have messed up your code.
For 2nd rule, new url will be like this, ~/temp/UrlRewriter.aspx?bike=y&oldUrl=/ac/ac0008?vmid=233"
then when you access to your query strings as below
string oldurl = Request.QueryString["oldUrl"];
strign vmid = Request.QueryString["vmid"];
now
oldurl = "/ac/ac0008"
vmid = 233
you wont get
oldurl = "ac/ac0008?vmid=233" at once :)
hope you get an idea.