目录浏览 <directoryBrowse>

概述

<directoryBrowse> 元素控制在为网站或应用程序启用目录浏览时显示在目录列表中的信息。

<directoryBrowse> 元素可以包含两个属性。 enabled 的属性确定是否为站点、应用程序或目录启用了目录浏览。 showFlags 属性定义 Internet Information Services (IIS) 将显示目录中有关每个文件的哪些信息。 IIS 可以显示上次修改日期和时间、上次修改日期的长日期、文件大小和文件扩展名。 可以选择 IIS 要显示哪些信息(如果有)。

兼容性

版本 说明
IIS 10.0 <directoryBrowse> 元素在 IIS 10.0 中未进行修改。
IIS 8.5 <directoryBrowse> 元素在 IIS 8.5 中未进行修改。
IIS 8.0 <directoryBrowse> 元素在 IIS 8.0 中未进行修改。
IIS 7.5 <directoryBrowse> 元素未在 IIS 7.5 中进行修改。
IIS 7.0 <directoryBrowse> 元素是在 IIS 7.0 中引入的。
IIS 6.0 <directoryBrowse> 元素替代了 IIS 6.0 的 DirBrowseFlags 元数据库属性。

安装

<directoryBrowse> 元素包含在 IIS 7 及更高版本的默认安装中。

如果目录浏览已被卸载,可以使用以下步骤重新安装。

Windows Server 2012 或 Windows Server 2012 R2

  1. 在任务栏上,单击 “服务器管理器”。
  2. 在“服务器管理器”中,单击“管理”菜单,然后单击“添加角色和功能”。
  3. 在“添加角色和功能”向导中,单击“下一步”。 选择安装类型,然后单击“下一步”。 选择目标服务器,然后单击“下一步”。
  4. 在“服务器角色”页,展开“Web 服务器 (IIS)”,展开“Web 服务器”,展开“常见 HTTP 功能”,然后选择“目录浏览”。 单击 “下一步”
    Screenshot of the Directory Browsing option being highlighted and selected.
  5. 在“选择功能”页上,单击“下一步”
  6. “确认安装选择”页上,单击“安装”
  7. 在“结果” 页面中单击“关闭”

Windows 8 或 Windows 8.1

  1. 在“开始”屏幕上,将指针一直移动到左下角,右键单击“开始”按钮,然后单击“控制面板”
  2. 在“控制面板”中,单击“程序与功能”,然后单击“打开或关闭 Windows 功能”。
  3. 依次展开“Internet Information Services”、“万维网服务”和“通用 HTTP 功能”,然后选择“目录浏览”。
    Screenshot of the Common H T T P Features folder and its contained folders, including the highlighted Directory Browsing Folder.
  4. 单击“确定”。
  5. 单击“关闭” 。

Windows Server 2008 或 Windows Server 2008 R2

  1. 在任务栏上,单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
  2. 在“服务器管理器”层次结构窗格中,展开“角色”,然后单击“Web 服务器(IIS)”。
  3. 在“Web 服务器(IIS)”窗格中,滚动到“角色服务”部分,然后单击“添加角色服务”。
  4. 在“添加角色服务向导”的“选择角色服务”页上,选择“目录浏览”,然后单击“下一步”。
    The Roles Services section with the Directory Browisng (Installed) option being highlighted.
  5. “确认安装选择”页中,单击“安装”
  6. 在“结果” 页面中单击“关闭”

Windows Vista 或 Windows 7

  1. 在任务栏上,单击“开始”,然后单击“控制面板”。
  2. 在“控制面板”中,单击“程序与功能”,然后单击“打开或关闭 Windows 功能”。
  3. 扩展“Internet Information Services”,展开“万维网服务”,然后展开“常见 HTTP 功能”。
  4. 选择“目录浏览”,然后单击“确定”。
    Screenshot of the Common H t t p Features folder with the Directory Browsing folder being selected and highlighted.

操作方式

如何启用目录浏览

  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. 在“开始”窗格中,双击“目录浏览”。
    The Directory Browsing shortcut is highlighted.

  4. 在“操作”窗格中,单击“启用”。
    The Directory Browsing screen with the Time, Size, and Extension options enabled.

  5. 在“目录浏览”窗格中,选择要为目录中每个项显示的信息对应的选项,然后单击“应用”。

配置

在相应的 Web.config 文件中,可以在站点级别、应用程序级别或目录级别配置 <directoryBrowse> 元素。

特性

属性 说明
enabled 可选布尔属性。

指定 Web 服务器上是启用目录浏览 (true) 还是禁用 (false)。

默认值为 false
showFlags 可选标志属性。

showFlags 属性的值可以是下列其中一个。 如果指定多个值,请使用逗号分隔值 (,)。 默认值为:DateTimeSizeExtension
说明
Date 在目录列表中包括文件或目录的上次修改日期。
Extension 在目录列表中包括文件的文件扩展名。
LongDate 在目录列表中,以扩展格式包含文件的上次修改日期。
None 指定在目录列表中仅返回文件或目录名称。
Size 在目录列表中包括文件的文件大小。
Time 在目录列表中包括文件或目录的上次修改时间。

子元素

无。

配置示例

以下示例启用目录浏览并使用 showFlags 属性将 IIS 配置为显示目录中每个项修改的日期和时间,以及每个项目的文件大小和文件扩展名。

<configuration>
   <system.webServer>
      <directoryBrowse enabled="true" showFlags="Date,Time,Extension,Size" />
   </system.webServer>
</configuration>

代码示例

以下示例为名为 Contoso 的站点启用目录浏览并使用 showFlags 属性将 IIS 配置为显示目录中每个项修改的日期和时间,以及每个项目的文件大小和文件扩展名。

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/directoryBrowse /enabled:"True" /showFlags:"Date, Time, Size, Extension"

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 directoryBrowseSection = config.GetSection("system.webServer/directoryBrowse");
         directoryBrowseSection["enabled"] = true;
         directoryBrowseSection["showFlags"] = @"Date, Time, Size, Extension";

         serverManager.CommitChanges();
      }
   }
}

VB.NET

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

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Contoso")
      Dim directoryBrowseSection As ConfigurationSection = config.GetSection("system.webServer/directoryBrowse")
      directoryBrowseSection("enabled") = True
      directoryBrowseSection("showFlags") = "Date, Time, Size, Extension"
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

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

var directoryBrowseSection = adminManager.GetAdminSection("system.webServer/directoryBrowse",
   "MACHINE/WEBROOT/APPHOST/Contoso");
directoryBrowseSection.Properties.Item("enabled").Value = true;
directoryBrowseSection.Properties.Item("showFlags").Value = "Date, Time, Size, Extension";

adminManager.CommitChanges();

VBScript

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

Set directoryBrowseSection = adminManager.GetAdminSection("system.webServer/directoryBrowse", "MACHINE/WEBROOT/APPHOST/Contoso")
directoryBrowseSection.Properties.Item("enabled").Value = True
directoryBrowseSection.Properties.Item("showFlags").Value = "Date, Time, Size, Extension"

adminManager.CommitChanges()