【问题标题】:When publishing a web site, my default document name keeps getting removed from IIS发布网站时,我的默认文档名称不断从 IIS 中删除
【发布时间】:2010-11-07 08:48:20
【问题描述】:

我有一个 ASP.NET 网站项目,我将其发布到我的 Win2k8 R2 服务器上的 IIS。它有一个名为login.aspx 的默认页面。我在已发布的网站上进行了设置。

问题是,每次我发布新版本的网站时,login.aspx 条目都会从 IIS 中网站的“默认文档”设置中删除。这很烦人。如何从 Visual Studio 发布我的网站,而无需每次都清除默认页面?

【问题讨论】:

  • 您在发布期间(在输出窗口中)是否遇到任何错误?尝试发布到本地目录,看看会发生什么。文件的构建动作是什么?
  • @Oded - 不,完全没有错误。我正在发布到本地目录; VS 环境与 IIS 在同一台服务器上,它直接发布到 inetpub\wwwroot 文件夹。
  • 很奇怪。我从未见过目标上的发布操作 delete 文件。文件的构建操作是什么(在属性中)?
  • @Oded - 我想你误解了我的意思。它实际上并没有删除文件。它正在更改 IIS,以便“默认文档”不再包含该文件名。为了清楚起见,将重新表述问题。
  • 您可能正在使用“子站点”,并且根网站的默认文档列表为空白 - 尝试将默认文档(甚至是虚拟文档)添加到根网站,看看是否有帮助。 (取自这里:forums.iis.net/t/1169880.aspx)

标签: asp.net iis windows-server-2008


【解决方案1】:

尝试在您网站的 web.config 中放置一个 defaultDocument:

<system.webServer>
    <!-- your other stuff -->

    <defaultDocument enabled="true">   
       <files>      
           <clear/>                 
           <add value="login.aspx"/>  
       </files>
    </defaultDocument>

</system.webServer>

【讨论】:

  • 这比接受的答案要好。在站点的配置中包含它要好得多,而不是依赖于服务器根网站来设置。它更加明确,并且可以进行源代码控制。谢谢!
  • 这应该是答案;)
【解决方案2】:

您可能使用的是“子站点”,根站点的默认文档列表为空白。

尝试将默认文档(甚至是虚拟文档)添加到根网站,看看是否有帮助。

(取自这里:http://forums.iis.net/t/1169880.aspx)

【讨论】:

    【解决方案3】:

    当 login.aspx 添加到子站点时。它是“本地”类型。它给出了这个错误。 您应该将此页面添加到服务器本身。 单击服务器,然后选择功能视图-> iis--- 默认文档,然后右键单击以添加您的“login.aspx”页面。

    现在您应该在所有子站点的默认文档中看到它,并且不会在发布或服务器重启时被删除。

    这是我的个人经历

    奥马尔·卡梅尔

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 2017-04-05
      • 2014-03-26
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      相关资源
      最近更新 更多