目录浏览 <directoryBrowse>

概述

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

<directoryBrowse> 元素可以包含两个属性。 启用的属性确定是否为站点、应用程序或目录启用目录浏览。 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 功能”,然后选择“ 目录浏览”。 单击“下一步”。
    突出显示并选择“目录浏览”选项的屏幕截图。 .
  5. 在“选择功能”页上,单击“下一步”
  6. “确认安装选择”页上,单击“安装”
  7. 在“结果”页面中单击“关闭”

Windows 8或Windows 8.1

  1. “开始”屏幕上,将指针一路移动到左下角,右键单击“开始”按钮,然后单击控制面板
  2. 控制面板中,单击“程序和功能”,然后单击“打开或关闭 Windows 功能”。
  3. 展开 Internet Information Services、展开 万维网服务、展开 通用 HTTP 功能,然后选择 “目录浏览”。
    Common H T T P Features 文件夹及其包含文件夹的屏幕截图,包括突出显示的目录浏览文件夹。
  4. 单击 “确定”
  5. 单击“关闭”。

Windows Server 2008 或 Windows Server 2008 R2

  1. 在任务栏上,单击“开始”,指向“管理工具”,然后单击服务器管理器
  2. “服务器管理器层次结构”窗格中,展开“角色”,然后单击“Web 服务器” (IIS)
  3. “Web Server (IIS) ”窗格中,滚动到 “角色服务 ”部分,然后单击“ 添加角色服务”。
  4. “添加角色服务向导”的“选择角色服务”页上,选择“目录浏览”,然后单击“下一步”。
    突出显示了“目录 Browisng (已安装) ”选项的角色服务部分。
  5. “确认安装选择”页中,单击“安装”
  6. 在“结果”页面中单击“关闭”

Windows Vista 或 Windows 7

  1. 在任务栏上,单击“开始”,然后单击控制面板
  2. 控制面板中,单击“程序和功能”,然后单击“打开或关闭 Windows 功能”。
  3. 展开 Internet Information Services,展开 万维网服务,然后展开 通用 Http 功能
  4. 选择 “目录浏览”,然后单击“ 确定”。
    “常用 H t t t p 功能”文件夹的屏幕截图,其中选择了“目录浏览”文件夹并突出显示。

操作方式

如何启用目录浏览

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

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

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

      • 按住 Windows 键,按字母 X,然后单击控制面板
      • 单击 “管理工具”,然后双击“ Internet Information Services” (IIS) Manager
    • 如果使用 Windows Server 2008 或 Windows Server 2008 R2:

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

      • 在任务栏上,单击“开始”,然后单击控制面板
      • 双击 管理工具,然后双击 “Internet Information Services” (IIS) 管理器
  2. “连接 ”窗格中,展开服务器名称,然后转到要在其中启用目录浏览的站点、应用程序或目录。

  3. “开始 ”窗格中,双击 “目录浏览”。
    “目录浏览”快捷方式突出显示。

  4. “操作 ”窗格中,单击“ 启用”。
    启用了时间、大小和扩展选项的“目录浏览”屏幕。

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

配置

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

属性

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

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

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

showFlags 属性可以具有以下一个或多个可能的值。 如果指定多个值,请使用逗号 (分隔值,) 。 默认值为 Date,,TimeSizeExtension
说明
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()