默认文档文件 <files>
概述
<defaultDocument>
集合的 <files>
元素指定配置为默认文档的文件名列表。 <files>
元素可以包含 <add>
元素的列表,其中列表中的每个项指定要添加到 <files>
列表的唯一文件。
兼容性
版本 | 说明 |
---|---|
IIS 10.0 | <files> 元素在 IIS 10.0 中未进行修改。 |
IIS 8.5 | <files> 元素在 IIS 8.5 中未进行修改。 |
IIS 8.0 | <files> 元素在 IIS 8.0 中未进行修改。 |
IIS 7.5 | <files> 元素在 IIS 7.5 中未进行修改。 |
IIS 7.0 | IIS 7.0 中引入了 <defaultDocument> 集合的 <files> 元素。 |
IIS 6.0 | <defaultDocument> 集合替代了 IIsWebService 元数据库对象的 DirBrowseFlags 属性的 IIS 6.0 DefaultDoc 属性和 EnableDefaultDoc 值。 |
安装
在 IIS 7 的默认安装中包含 <defaultDocument>
集合的 <files>
元素。
操作方式
如何为应用程序或站点添加默认文档
打开 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)管理器”。
在“连接”窗格中,展开服务器名称,展开“站点”,然后导航到要为其配置默认文件的网站或应用程序。
在“主页”窗格中,双击“默认文档”。
在“操作”窗格中,单击“添加...”。
在“添加默认文档”对话框中,在“名称”框中键入要添加的默认文档的名称,然后单击“确定”。
如有必要,在“操作”窗格中,选择列表中的默认文档,然后单击“上移”或“下移”以定义 IIS 搜索默认文档列表应使用的顺序。
在“默认文档”警报框中,单击“是”以拒绝从父配置级别的配置继承,或者单击“否”或“取消”以取消对默认文档顺序的更改。
如有必要,在“操作”窗格中单击“删除”来删除任何不想用作默认文档的文件名。
配置
特性
无。
子元素
元素 | 说明 |
---|---|
add |
可选元素。 将文件名添加到文件集合。 |
remove |
可选元素。 从文件集合中移除对文件名的引用。 |
clear |
可选元素。 从文件集合中移除对文件名的所有引用。 |
配置示例
以下配置示例,当包含在网站或应用程序的 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