我在同一台服务器上有多个网站。我希望从一个链接到另一个链接,但我似乎没有相对路径,因为似乎Server.MapPath不能“低于”当前网站的根目录。
如何在我的机器上有一个网站指向另一个网站上的文件或页面。
答案 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地址,它们仍然可以由同一服务器处理。