RewriteRule /(\d{5}) /User/Default.aspx?id=$1当访问http://localhost/10000时,ISAPI_Rewrite会将其重写到真实地址http://localhost/User/Default.aspx?id=10000中,怎么得到重写前的地址呢?使用Request.Url,得到的是真实地址,百度后知道ISAPI_Rewrite会添加一个HTTP头X-Rewrite-URL
Connection=Keep-Alive
Accept=*/*
Accept-Encoding=gzip, deflate
Accept-Language=zh-CN
Cookie=ASP.NET_SessionId=01k32j45pobhx545mdc5r245
Host=localhost
User-Agent=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
[color=Red]X-Rewrite-URL=/10000[/color]获取ISAPI_Rewrite重写前的URL代码:
protected string GetRewriteUrl()
{
return "http://" + Request.Headers["Host"] + Request.Headers["X-Rewrite-URL"];
}
评论(0)
暂无评论。