2013-05-10 93 views
0

我想重写网址,如下所示 http://www.abc.com/ac/ac0008http://www.abc.com/temp/urlRewriter.aspx?oldurl=/ac/ac0008URL重写与urlrewritingnet

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" /> 

但此规则仅适用于第1个网址,仅适用于第2个网址,它只发送/ a c/ac0008,它不会像这样发送/ ac/ac0008/vmid = 233

任何人都可以给我一个示例规则,用querystring参数重写url。然后我可以想出一个办法。

谢谢。

回答

0

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

对于第二个规则,新的URL会是这样, 〜/温度/ 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 :) 

希望你有个想法。

+0

是的,你是对的,我希望一次得到所有查询字符串参数。 – Wiki 2013-05-10 04:32:52