添加默认文档文件 <add>

概述

<defaultDocument> 集合的 <add> 元素指定要添加到 <files> 元素中默认文档列表的唯一文件名。

兼容性

版本 说明
IIS 10.0 <add> 元素在 IIS 10.0 中未进行修改。
IIS 8.5 <add> 元素在 IIS 8.5 中未进行修改。
IIS 8.0 <add> 元素在 IIS 8.0 中未进行修改。
IIS 7.5 <add> 元素在 IIS 7.5 中未进行修改。
IIS 7.0 IIS 7.0 中引入了 <defaultDocument> 集合的 <add> 元素。
IIS 6.0 <defaultDocument> 集合替代了 IIsWebService 元数据库对象的 DirBrowseFlags 属性的 IIS 6.0 DefaultDoc 属性和 EnableDefaultDoc 值。

安装

在 IIS 7 的默认安装中包含 <defaultDocument> 集合的 <add> 元素。

操作方式

如何为应用程序或站点添加默认文档

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet 信息服务(IIS)管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet 信息服务(IIS)管理器”。
  2. 在“连接”窗格中,展开服务器名称,展开“站点”,然后导航到要为其配置默认文件的网站或应用程序。

  3. 在“主页”窗格中,双击“默认文档”
    Screenshot of the Home pane. Default Document is highlighted.

  4. 在“操作”窗格中,单击“添加...”。

  5. 在“添加默认文档”对话框中,在“名称”框中键入要添加的默认文档的名称,然后单击“确定”
    Screenshot of the Add Default Document dialog box. In the Name box, home dot h t m l is written.

  6. 如有必要,在“操作”窗格中,选择列表中的默认文档,然后单击“上移”或“下移”以定义 IIS 搜索默认文档列表应使用的顺序。

  7. 在“默认文档”警报框中,单击“是”以拒绝从父配置级别的配置继承,或者单击“否”或“取消”以取消对默认文档顺序的更改。
    Screenshot of the Default Document dialog box.

  8. 如有必要,在“操作”窗格中单击“删除”来删除任何不想用作默认文档的文件名

配置

特性

属性 说明
name 可选的字符串属性。

指定可用作默认文档的 Web 内容的文件名。 该值在文件集合中必须是唯一的,可以是文件名或相对路径。

子元素

无。

配置示例

以下配置示例,当包含在网站或应用程序的 Web.config 文件中时,将为站点或应用程序启用默认文档。 然后,它会将文件名“Home.html”添加到站点或应用程序的默认文档列表中。

<configuration>
   <system.webServer>
      <defaultDocument enabled="true">
         <files>
            <add value="home.html" />
         </files>
      </defaultDocument>
   </system.webServer>
</configuration>

代码示例

以下示例对名为 Contoso 的网站启用默认文档,然后将名为 Home.html 的文件添加到网站的默认文档列表中。

AppCmd.exe

appcmd.exe set config "Contoso" /section:defaultDocument /enabled:true /+files.[value='home.html']

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {

    private static void Main() {
        
        using(ServerManager serverManager = new ServerManager()) { 
            Configuration config = serverManager.GetWebConfiguration("Contoso");
            
            ConfigurationSection defaultDocumentSection = config.GetSection("system.webServer/defaultDocument");
            
            defaultDocumentSection["enabled"] = true;
            
            ConfigurationElementCollection filesCollection = defaultDocumentSection.GetCollection("files");
            ConfigurationElement addElement = filesCollection.CreateElement("add");
            addElement["value"] = @"home.html";
            filesCollection.AddAt(0, addElement);
            
            serverManager.CommitChanges();
        }
    }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Class Sample
   Shared Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Contoso")
      Dim defaultDocumentSection As ConfigurationSection = config.GetSection("system.webServer/defaultDocument")

      defaultDocumentSection("enabled") = True

      Dim filesCollection As ConfigurationElementCollection = defaultDocumentSection.GetCollection("files")
      Dim addElement As ConfigurationElement = filesCollection.CreateElement("add")
      addElement("value") = "home.html"
      filesCollection.AddAt(0, addElement)

      serverManager.CommitChanges()
   End Sub
End Class

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";

var defaultDocumentSection = adminManager.GetAdminSection("system.webServer/defaultDocument",
   "MACHINE/WEBROOT/APPHOST/Contoso");

defaultDocumentSection.Properties.Item("enabled").Value = true;

var filesCollection = defaultDocumentSection.ChildElements.Item("files").Collection;

var addElement = filesCollection.CreateNewElement("add");
addElement.Properties.Item("value").Value = "home.html";
filesCollection.AddElement(addElement, 0);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"

Set defaultDocumentSection = adminManager.GetAdminSection("system.webServer/defaultDocument", _
   "MACHINE/WEBROOT/APPHOST/Contoso")

defaultDocumentSection.Properties.Item("enabled").Value = True  

Set filesCollection = defaultDocumentSection.ChildElements.Item("files").Collection

Set addElement = filesCollection.CreateNewElement("add")
addElement.Properties.Item("value").Value = "home.html"
filesCollection.AddElement addElement, 0

adminManager.CommitChanges