UrlRewriting с помощью urlrewritingnet
Я хочу переписать 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" />
Но это правило работает только для 1-го URL-адреса, для 2-го URL-адреса отправляется только / ac / ac0008 и не отправляется следующим образом / ac / ac0008 / vmid = 233
Может кто-нибудь дать мне пример правила переписать URL с параметрами строки запроса. Тогда я могу получить идею сделать это.
Благодарю.
1 ответ
Я думаю, что вы испортили свой код.
Для второго правила новый 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 :)
надеюсь, у вас есть идея.