从网络外部访问站点时,IIS网站路径的行为有所不同

时间:2018-06-22 13:55:57

标签: asp.net iis

正如标题所述,当我尝试从Internet访问网站时,与从本地网络访问相比,我在网站上的行为有所不同,我不知道为什么。我知道这是因为IIS试图从父应用程序为我提供内容,但我不知道如何解决它。

让我尝试解释:我有一个网站(不是Web应用程序),该网站已部署到现有IIS站点,然后将其转换为应用程序。如果我从本地网络(<hostname>/path/to/site.aspx访问该网站,那么一切正常,但是当我尝试从Internet(<domain.name>/path/to/site.aspx)访问该网站时,它中断了,并且我已经设置了映射正确地针对域(在父应用程序上有效)。

最初,它无法访问Site.Master页面,并说无法在<Site Parent Folder>/Site.Master(而不是<Site Parent Folder>/<Current App>/Site.Master)上找到该文件,因此我不得不在ASP页面上更改母版页引用从~/Site.MasterSite.Master,这似乎只对母版页有效。现在,它给我一个关于无法在App_Code目录(The type or namespace name 'MyClass' could not be found. Are you missing a using directive or an assembly reference?)中找到我的类的错误,因此我怀疑它仍在尝试从父目录中引用那些类。 关于如何解决它的任何想法,以便它引用当前应用程序的目录而不是父应用程序的目录? 预先感谢。

1 个答案:

答案 0 :(得分:0)

确保已部署的网站正在作为主要IIS站点下的子应用程序运行。

在您的主要IIS网站中,更新web.config并用system.web设置为false的位置元素包装inheritInChildApplications部分

<location path="." inheritInChildApplications="false"> 
    <system.web> 
    … 
    </system.web> 
  </location>

您可以详细了解here