首页 > 解决方案 > 从网络外部访问站点时,IIS 网站路径的行为不同

问题描述

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

让我尝试解释一下:我有一个网站(不是 Web 应用程序),我将其部署到现有的 IIS 站点,然后将其转换为应用程序。<hostname>/path/to/site.aspx如果我从本地网络<domain.name>/path/to/site.aspx(应用)。

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

标签: asp.netiis

解决方案


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

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

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

你可以在这里阅读更多关于它的信息


推荐阅读