0

我想将如下 http://www.abc.com/ac/ac0008的 url 重写为http://www.abc.com/temp/urlRewriter.aspx?oldurl=/ac/ac0008

http://www.abc.com/ac/ac0008?vmid=233http://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&amp;oldUrl=/ac/ac0008?vmid=$1"    
  ignoreCase="true" />

但是此规则仅适用于第一个 url,对于第二个 url,它仅发送 /ac/ac0008 而不会像这样发送 /ac/ac0008/vmid=233

谁能给我一个使用查询字符串参数重写 url 的示例规则。然后我可以有一个想法来做到这一点。

谢谢。

4

1 回答 1

0

我认为你搞砸了你的代码。

对于第二条规则,新的 url 将是这样的,~/temp/UrlRewriter.aspx?bike=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 :)

希望你有一个想法。

于 2013-05-10T04:30:55.123 回答