我想重写下面的网址 http://www.abc.com/ac/ac0008至http://www.abc.com/temp/urlRewriter.aspx?oldurl=/ac/ac0008
和
http://www.abc.com/ac/ac0008?vmid=233至http://www.abc.com/temp/urlRewriter.aspx?oldurl=/ac/ac0008/vmid=233
所以,在我的urlrewritingnet规则是这样的
<add name="ac_redir1"
virtualUrl="^~/ac/ac0008?vmid=(.*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/temp/UrlRewriter.aspx?bike=y&oldUrl=/ac/ac0008?vmid=$1"
ignoreCase="true" />
但是这个规则仅适用于第一个网址,第二个网址只能发送/ ac / ac0008而且它不会像这样发送/ ac / ac0008 / vmid = 233
任何人都可以给我一个用querystring参数重写url的示例规则。然后我就可以做到这一点。
感谢。
答案 0 :(得分:0)
我认为你搞砸了你的代码。
对于第二条规则,新网址将是这样的, 〜/ temp / UrlRewriter.aspx?bike = y&amp; oldUrl = / ac / ac0008?vmid = 233“
然后当您访问查询字符串时 如下
string oldurl = Request.QueryString["oldUrl"];
strign vmid = Request.QueryString["vmid"];
现在
oldurl = "/ac/ac0008"
vmid = 233
你不会得到
oldurl = "ac/ac0008?vmid=233" at once :)
希望你有个主意。