无论站点是否在虚拟目录中,也无论我的代码在目录结构中的什么位置,我怎样才能始终如一地获得站点的绝对、完全限定的根或基本 URL?我已经尝试了所有我能想到的变量和函数,但没有找到好的方法。
我希望能够获取当前站点的 url,即http://www.example.com或者如果它是一个虚拟目录,http://www.example.com/DNN/
这是我尝试过的一些事情和结果。唯一包含我想要的整个部分(http://localhost:4471/DNN441)的是 Request.URI.AbsoluteURI:
- Request.PhysicalPath: C:\WebSites\DNN441\Default.aspx
- 请求.应用程序路径:/DNN441
- Request.PhysicalApplicationPath: C:\WebSites\DNN441\
- 地图路径:C:\WebSites\DNN441\DesktopModules\Articles\Templates\Default.aspx
- RawURL:/DNN441/ModuleTesting/Articles/tabid/56/ctl/Details/mid/374/ItemID/1/Default.aspx
- Request.Url.AbsoluteUri:http://localhost:4471/DNN441/Default.aspx
- Request.Url.AbsolutePath: /DNN441/Default.aspx
- Request.Url.LocalPath: /DNN441/Default.aspx Request.Url.Host: localhost
- Request.Url.PathAndQuery: /DNN441/Default.aspx?TabId=56&ctl=Details&mid=374&ItemID=1