2013-05-10 94 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