我想重写url如下http://www.abc.com/ac/ac0008到http://www.abc.com/temp/urlRewriter.aspx?oldurl=/ac/ac0008
和
http://www.abc.com/ac/ac0008?vmid=233 to 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" />
但是这个规则只对第一个url有效,对于第二个url它只发送/ac/ac0008而不是这样发送/ac/ac0008/vmid=233
谁能给我一个示例规则重写url与querystring参数。那我就有主意了
谢谢。
我想你把代码弄乱了。
对于第二条规则,新的url将是这样的:~/temp/UrlRewriter.aspx ?自行车= y& 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 :)