我创建了几个虚拟导向器,我希望能够从当前的http请求中获取url。绝对URL不适用于虚拟目录?
例如:
http://www.site.com/app_1/default.aspx ===> http://www.site.com/app_1/
http://www.site.com/app_2/default.aspx ===> http://www.site.com/app_2/
....
http://www.site.com/app_n/default.aspx ===> http://www.site.com/app_n/
我的代码:
string urlApp = HttpContext.Current.Request.Url.AbsoluteUri.ToString();
urlApp = urlApp.Substring(0, urlApp.LastIndexOf('/') + 1);
,我试图
string urlApp = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/";
在本地主机的伟大工程:http://localhost:2468/test.aspx
结果http://localhost:2468/
,但是当通过虚拟目录http://myhost/app_1/test.aspx
结果存取http://myhost/
?我怎样才能http://myhost/app_1/
?
你有没有试过看看'HttpContext.Current.Request.Url.AbsoluteUri.ToString();'实际返回什么?也许它只是返回'http:// myhost/app_1 /',然后你的子字符串是删除app_1部分? – seekerOfKnowledge