gpt4 book ai didi

c# - 绝对 URL 不适用于虚拟目录?

转载 作者:行者123 更新时间:2023-12-02 22:41:45 28 4
gpt4 key购买 nike

我创建了几个虚拟 Controller ,我希望能够从当前的 http 请求中获取 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) + "/";

在 localhost 中效果很好:http://localhost:2468/test.aspx 结果 http://localhost:2468/

,但是当通过虚拟目录访问时 http://myhost/app_1/test.aspx 结果 http://myhost/

如何获取 http://myhost/app_1/

最佳答案

HttpContext.Current.Request.ApplicationPath 

是获取虚拟目录路径所需的内容。将它附加到您已经获得的 URL,您就成功了。有点像

HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpContext.Current.Request.ApplicationPath

应该可以,但要注意结尾的斜杠。

关于c# - 绝对 URL 不适用于虚拟目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10703459/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com