Webroot之外的Server.MapPath

时间:2009-07-19 23:44:09

标签: asp.net

我在同一台服务器上有多个网站。我希望从一个链接到另一个链接,但我似乎没有相对路径,因为似乎Server.MapPath不能“低于”当前网站的根目录。

如何在我的机器上有一个网站指向另一个网站上的文件或页面。

3 个答案:

答案 0 :(得分:4)

也许创建虚拟会有助于解决这个问题。我不确定你要做什么。

您可以在您的网站上创建一个虚拟路径,该路径映射到您计算机上的另一个物理路径(即另一个网站)

How To Create a Virtual Directory in Internet Information Services (IIS)

然后,当您使用MapPath访问此虚拟时,您可以访问其他网站。

更新:

@me:您可以对IIS执行操作并创建虚拟目录以访问其他应用程序。从第一个应用程序中,您将创建一个“Application2”虚拟,并将其指向C:\ inetpub \ wwwroot \ website2。

现在,当您访问http://www.mywebsite.com/Application2时,您正在查看其他应用程序中的文件(C:\ inetpub \ wwwroot \ website2)。

此外,Server.MapPath(“./ Application2”)将返回C:\ inetpub \ wwwroot \ website2 \

中的路径

我希望有所帮助。

答案 1 :(得分:0)

为什么不明确拼出绝对的Url?

答案 2 :(得分:0)

Server.MapPath方法用于获取网址的物理路径。它与创建文件的URL无关。即使您可以从另一个网站的服务器代码访问一个网站的物理文件,但这并不意味着您可以指定一个网址来执行此操作。

您无法创建从一个域到另一个域的相对路径。即使它们碰巧在同一台服务器上,仍然没有可用于建立从一个到另一个的相对路径的域的共同父级。

每个域名只指向到达处理请求的服务器的IP地址,域名之间根本没有关系。即使两个域名指向相同的IP地址,这并不意味着它们需要位于同一服务器上,如果两个域名指向不同的IP地址,它们仍然可以由同一服务器处理。