<-
Apache HTTP 服务器 2.4 > Apache模块mod_autoindex

Apache模块mod_autoindex

描述:自动生成目录索引,类似于Unix ls命令或Win32 dirshell命令
状态:基础
模块标识符:autoindex_module
源文件:mod_autoindex.c

摘要

目录的索引可以来自两个来源之一:

这两个功能是分开的,因此您可以根据需要完全删除(或替换)自动索引生成。

使用启用自动索引生成 Options +Indexes。有关Options更多详细信息,请参见 指令。

如果FancyIndexing使用IndexOptions指令提供了该选项,则列标题是控制显示顺序的链接。如果选择标题链接,将重新生成列表,并按该列中的值排序。重复选择相同的标题会在升序和降序之间切换。这些列标题链接被IndexOptions指令的 SuppressColumnSorting 选项抑制 。

请注意,按“大小”对显示进行排序时,它是所使用文件的 实际大小,而不是显示的值-因此,即使1010字节的文件也将始终显示在1011字节的文件之前(如果按升序排列)尽管它们都显示为“ 1K”。

支持Apache!

主题

指令

错误修正清单

也可以看看

最佳

自动索引请求查询参数

可以使用各种查询字符串参数来使客户端对目录列表的顺序以及列出的文件有一些控制。如果您不希望向客户端提供此控制,则该IndexOptions IgnoreClient选项将禁用该功能。

列排序标题本身就是自引用超链接,这些超链接添加了如下所示的排序查询选项。可以将以下任何选项添加到对目录资源的任何请求中。

请注意,在处理了常规指令之后,将测试“ P”模式查询参数 IndexIgnore,并且所有文件名仍与其他任何自动索引列表一样受相同的条件约束。mod_autoindex当遇到无法识别的选项时,查询参数解析器 将突然停止。根据上表,查询参数必须格式正确。

下面的简单示例可以裁剪并保存在header.html文件中,它说明了这些查询选项。请注意,最后一个列出了“提交”按钮的未知“ X”参数,以确保在mod_autoindex遇到X = Go输入之前已对所有参数进行了解析。

<form action="" method="get">
Show me a <select name="F">
<option value="0"> Plain list</option>
<option value="1" selected="selected"> Fancy list</option>
<option value="2"> Table list</option>
</select>
Sorted by <select name="C">
<option value="N" selected="selected"> Name</option>
<option value="M"> Date Modified</option>
<option value="S"> Size</option>
<option value="D"> Description</option>
</select>
<select name="O">
<option value="A" selected="selected"> Ascending</option>
<option value="D"> Descending</option>
</select>
<select name="V">
<option value="0" selected="selected"> in Normal order</option>
<option value="1"> in Version order</option>
</select>
Matching <input type="text" name="P" value="*" />
<input type="submit" name="X" value="Go" />
</form>

最佳

AddAlt 指令

描述:显示文件的替代文本,而不是文件名选择的图标
句法:AddAlt string file [file] ...
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

AddAlt提供要显示的替代文本文件而不是图标FancyIndexing文件是文件扩展名,部分文件名,通配符表达式或完整文件名,用于描述文件。如果String包含任何空格,则必须将其用引号("')引起来。如果客户端没有图像,禁用图像加载或无法检索图标,则会显示此备用文本。

AddAlt "PDF file" *.pdf
AddAlt Compressed *.gz *.zip *.Z
最佳

AddAltByEncoding 指令

描述:为文件显示的替代文本,而不是由MIME编码选择的图标
句法:AddAltByEncoding string MIME-encoding [MIME-encoding] ...
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

AddAltByEncoding提供要显示的替代文本文件而不是图标FancyIndexingMIME编码是有效的内容编码,例如 x-compress。如果String包含任何空格,则必须将其用引号("')引起来。如果客户端没有图像,禁用图像加载或无法检索图标,则会显示此备用文本。

AddAltByEncoding gzip x-gzip
最佳

AddAltByType 指令

描述:为文件显示的替代文本,而不是由MIME内容类型选择的图标
句法:AddAltByType string MIME-type [MIME-type] ...
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

AddAltByType设置要为文件显示的替代文本,而不是图标FancyIndexingMIME-type是有效的内容类型,例如 text/html。如果String包含任何空格,则必须将其用引号("')引起来。如果客户端没有图像,禁用图像加载或无法检索图标,则会显示此备用文本。

AddAltByType 'plain text' text/plain
最佳

AddDescription 指令

描述:文件显示说明
句法:AddDescription string file [file] ...
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

这将设置描述显示为文件 FancyIndexing文件是文件扩展名,部分文件名,通配符表达式或完整文件名,用于描述文件。 字符串用双引号(")括起来。

AddDescription "The planet Mars" mars.gif
AddDescription "My friend Marshall" friends/mars.gif

典型的默认描述字段为23个字节宽。该IndexOptions SuppressIcon选项增加了6个字节,该选项增加了7个字节,该IndexOptions SuppressSize选项增加了19个字节IndexOptions SuppressLastModified。因此,描述列分配的最广泛的默认值为55字节。

由于File参数可能是部分文件名,因此请记住,部分文件名太短可能会与意外文件匹配。例如,le.html将匹配文件,le.html但还将匹配文件 example.html。如果可能存在歧义,请尽可能完整地使用文件名,但请记住,将使用遇到的第一个匹配项,并AddDescription相应地对指令列表进行 排序。

有关覆盖此列的大小或允许使用无限制长度的描述 IndexOptions的详细信息,请参见DescriptionWidth关键字。

警告

用定义的描述性文本AddDescription 可能包含HTML标记,例如标签和字符实体。如果description列的宽度恰好要截断带标签的元素(例如截断加粗的短语的结尾),则结果可能会影响目录列表的其余部分。

带有路径信息的参数

当前不支持绝对路径,并且绝对路径在运行时不匹配。通常只在htaccess上下文中使用的具有相对路径信息的参数隐式地以'* /'开头,以避免匹配部分目录名称。

最佳

AddIcon 指令

描述:为按名称选择的文件显示的图标
句法:AddIcon icon name [name] ...
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

此套图标以显示旁边结尾的文件 FancyIndexing图标可以是一个(%转义)相对URL的图标,一个完全合格的远程URL,或格式的其中alttext 是用于非图形浏览器的图标中的文字标记。 (alttext,url)

名称可以^^DIRECTORY^^是目录,也可以是 ^^BLANKICON^^空行(以正确格式化列表),文件扩展名,通配符表达式,部分文件名或完整文件名。

^^BLANKICON^^仅用于格式化,因此在使用时不需要IndexOptions HTMLTable

#Examples
AddIcon (IMG,/icons/image.png) .gif .jpg .png
AddIcon /icons/dir.png ^^DIRECTORY^^
AddIcon /icons/backup.png *~

AddIconByType 应尽可能优先于使用AddIcon

最佳

AddIconByEncoding 指令

描述:在MIME内容编码选择的文件旁边显示的图标
句法:AddIconByEncoding icon MIME-encoding [MIME-encoding] ...
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

这会将图标设置为显示在带有的文件旁边FancyIndexing图标可以是一个(%转义)相对URL的图标,一个完全合格的远程URL,或格式的 其中alttext是用于非图形浏览器的图标中的文字标记。(alttext,url)

MIME编码是有效的内容编码,例如 x-compress

AddIconByEncoding /icons/compress.png x-compress
最佳

AddIconByType 指令

描述:在MIME内容类型选择的文件旁边显示的图标
句法:AddIconByType icon MIME-type [MIME-type] ...
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

这组图标旁边显示到类型文件 的MIME类型FancyIndexing图标可以是一个(%转义)相对URL的图标,一个完全合格的远程URL,或格式的 其中alttext是用于非图形浏览器的图标中的文字标记。(alttext,url)

MIME-type是与必需的mime类型匹配的通配符表达式。

AddIconByType (IMG,/icons/image.png) image/*
最佳

DefaultIcon 指令

描述:未配置任何特定图标时显示文件的图标
句法:DefaultIcon url-path
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

DefaultIcon指令将图标设置为在没有特定图标的情况下针对文件显示FancyIndexing网址路径是图标的(%转义)相对URL,或完全合格的远程URL。

DefaultIcon /icon/unknown.png
最佳

HeaderName 指令

描述:将在索引列表顶部插入的文件名
句法:HeaderName filename
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

HeaderName指令规定,将在指数上市的顶部被插入的文件的名称。Filename是要包含的文件的名称。

HeaderName HEADER.html

HeaderName和HeaderName ReadmeName现在都将 Filename视为相对于用于访问被索引目录的URI路径。如果Filename以斜杠开头,则将被视为相对于DocumentRoot

HeaderName /include/HEADER.html

文件名必须解决与主要的内容类型的文档text/*例如text/htmltext/plain等)。这意味着,如果脚本的实际文件类型(而不是其输出)被标记为诸如这样的指令,则文件名可以引用CGI脚本 text/html

AddType text/html .cgi

如果Options MultiViews有效,将进行内容协商。如果filename解析为静态text/html文档(不是CGI脚本)并且启用options Includes或之一,则将IncludesNOEXEC对文件进行服务器端包含的处理(请参阅 mod_include文档)。

如果指定的文件HeaderName包含HTML文档的开头(<html>,<head>等),则可能需要设置IndexOptions +SuppressHTMLPreamble,以便不重复这些标签。

也可以看看

最佳

IndexHeadInsert 指令

描述:在索引页的HEAD部分插入文本。
句法:IndexHeadInsert "markup ..."
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

IndexHeadInsert指令指定的字符串在插入<HEAD>的索引页生成的HTML的部分。

IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"
最佳

IndexIgnore 指令

描述:添加到列出目录时要隐藏的文件列表
句法:IndexIgnore file [file] ...
默认:IndexIgnore "."
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

IndexIgnore指令将添加到列出目录时隐藏的文件列表中。文件是外壳样式的通配符表达式或完整文件名。多个IndexIgnore伪指令添加到列表中,而不是替换被忽略文件的列表。默认情况下,列表包含.(当前目录)。

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

常用表达

该指令当前不适用于具有正则表达式参数的配置部分,例如 <DirectoryMatch>

最佳

IndexIgnoreReset 指令

描述:清空列出目录时要隐藏的文件列表
句法:IndexIgnoreReset ON|OFF
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex
兼容性:2.3.10及更高版本

IndexIgnoreReset指令将删除IndexIgnore从其他配置节继承来的所有文件。

<Directory "/var/www">
    IndexIgnore *.bak .??* *~ *# HEADER* README* RCS CVS *,v *,t
</Directory>
<Directory "/var/www/backups">
    IndexIgnoreReset ON
    IndexIgnore .??* *# HEADER* README* RCS CVS *,v *,t
</Directory>

查看默认配置,以获取使用此伪指令后可能需要显式忽略的模式列表。

最佳

IndexOptions 指令

描述:目录索引的各种配置设置
句法:IndexOptions [+|-]option [[+|-]option] ...
默认:By default, no options are enabled.
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

IndexOptions指令指定目录索引的行为。选项可以是以下之一

AddAltClass
IndexOptions HTMLTable 有效并IndexStyleSheet定义时,会向目录列表的每一行添加一个附加的CSS类声明。而不是标准的evenodd 类,否则将被施加到表中的每一行,一类或 其中ALT是任一与该文件的风格(例如,相关联的标准替代文字SNDTXTIMG等)或alt文本由各种指令之一定义。 even-ALTodd-ALTAddAlt*
Charset = 字符集Apache HTTP Server 2.0.61和更高版本
Charset关键字允许您指定的字符集生成的页面。默认值是UTF-8Windows和Mac OS X以及ISO-8859-1其他地方。(这取决于基础文件系统是否使用Unicode文件名。)
IndexOptions Charset=UTF-8
DescriptionWidth = [ n | *]
DescriptionWidth关键字允许您指定字符的描述列的宽度。
-DescriptionWidth(或未设置)允许 mod_autoindex计算最佳宽度。
DescriptionWidth=n将列宽固定为 n个字节宽。
DescriptionWidth=*将列增加到容纳最长描述字符串所需的宽度。 有关AddDescription截断说明中固有的危险,请参见上一节。
花式索引
这将打开目录的精美索引。
文件夹第一
如果启用此选项,子目录列表将 始终首先显示,然后是目录中的普通文件。清单基本上分为两个部分,文件和子目录,并且每个部分分别进行排序,然后首先显示子目录。例如,如果排序顺序按名称降序并 FoldersFirst启用,则子目录 Zed将在子目录之前列出,子目录 Beta将在普通文件Gamma和之前列出 Alpha如果FancyIndexing 同时启用了此选项,则该选项才有效。
HTML表格
此选项FancyIndexing用于为花式目录列表构造一个简单表。对于启用了utf-8的平台,或者文件名或描述文本在从左到右和从右到左的阅读顺序之间交替变化,这是必要的。
IconsAre链接
这使得图标成为文件名锚点的一部分,以进行华丽的索引编制。
IconHeight [= 像素 ]
与一起使用时IconWidth,此选项的存在将导致服务器在文件图标的标记中包含heightwidth属性img。这使浏览器可以预先计算页面布局,而不必等到所有图像都加载完毕。如果未为该选项提供值,则默认为Apache httpd软件随附的图标的标准高度。 如果FancyIndexing同时启用了此选项,则该选项才有效。
IconWidth [= 像素 ]
与一起使用时IconHeight,此选项的存在将导致服务器在文件图标的标记中包含heightwidth属性img。这使浏览器可以预先计算页面布局,而不必等到所有图像都加载完毕。如果未为该选项提供值,则默认为Apache httpd软件随附的图标的标准宽度。
忽略大小写
如果启用此选项,则名称以不区分大小写的方式排序。例如,如果排序顺序按名称升序并 IgnoreCase启用,则文件Zeta将在文件alfa之后列出(注意:文件GAMMA将始终在文件gamma之前列出)。
忽略客户端
此选项导致mod_autoindex忽略来自客户端的所有查询变量,包括排序顺序(隐含 SuppressColumnSorting。)
NameWidth = [ n | *]
NameWidth关键字允许您指定以字节为单位的文件名列的宽度。
-NameWidth(或未设置)允许mod_autoindex计算最佳宽度,但最大宽度不能超过20个字节。
NameWidth=n将列宽固定为 n个字节宽。
NameWidth=* 将列增长到必要的宽度。
ScanHTMLTitles
这样就可以从HTML文档中提取标题以进行索引。如果文件没有描述,AddDescription 则httpd将读取文档中title元素的值 。这会占用大量CPU和磁盘。
显示禁止
如果指定,Apache httpd将显示通常隐藏的文件,因为返回了子请求HTTP_UNAUTHORIZEDHTTP_FORBIDDEN
抑制列排序
如果指定,Apache httpd不会将FancyIndexed目录中的列标题列出为要排序的链接。默认行为是使它们成为链接。选择列标题将按该列中的值对目录列表进行排序。但是,仍然会保留附加到URL的查询字符串参数。该行为由控制IndexOptions IgnoreClient
禁止描述
这将取消花式索引列表中的文件描述。默认情况下,没有定义文件描述,因此使用此选项将重新获得23个字符的屏幕空间以用于其他用途。请参阅AddDescription以获取有关设置文件描述的信息。另请参见DescriptionWidth 索引选项以限制描述列的大小。 如果FancyIndexing同时启用了此选项,则该选项才有效。
禁止HTMLPreamble
如果目录实际上包含由指定的文件 HeaderName 的指令,该模块通常包括所述文件的标准的HTML前导码之后的内容(<html><head>等等)。该 SuppressHTMLPreamble选项禁用此行为,从而使模块以头文件内容开始显示。在这种情况下,头文件必须包含适当的HTML指令。如果没有头文件,则照常生成前同步码。如果您还指定了一个ReadmeName,并且该文件存在,则假设您可能会将结束标记放在该文件中,那么在输出中也将省略</ body> </ html>标记。
抑制图标
这将取消在豪华索引列表中的图标。结合两者SuppressIconSuppressRules产生适当的HTML 3.2输出,最终规范禁止该块中的imghr元素pre(用于格式化FancyIndexed列表。)
禁止最后修改
这将禁止在花式索引列表中显示最后修改日期。 如果FancyIndexing同时启用了此选项,则该选项才有效。
禁止规则
这将取消hr 目录列表中的水平线(元素)。结合两者SuppressIconSuppressRules产生正确的HTML 3.2输出,根据最终规范,该输出将禁止块中的imghr元素pre(用于格式化FancyIndexed清单。) 只有FancyIndexing同时启用了此选项,该选项才有效。
抑制大小
这将抑制花式索引列表中的文件大小。 如果FancyIndexing同时启用了此选项,则该选项才有效。
TrackModified
这将返回 HTTP标头中列出的目录的Last-ModifiedETag值。仅当操作系统和文件系统返回适当的stat()结果时才有效。某些Unix系统会这样做,OS2的JFS和Win32的NTFS卷也是如此。例如,没有OS2和Win32 FAT卷。启用此功能后,客户端或代理可以在执行HEAD 请求时跟踪对文件列表的更改。请注意,某些操作系统可以正确跟踪新文件和已删除文件,但不能跟踪目录中文件大小或日期的更改。更改现有文件的大小或日期戳不会Last-Modified在所有Unix平台上更新 标头。 如果这是一个问题,请禁用此选项。
类型= MIME内容类型Apache HTTP Server 2.0.61及更高版本
Type关键字允许您指定的MIME内容类型生成的页面。默认值为text / html
IndexOptions Type=text/plain
UseOldDateFormatApache HTTP Server 2.4.26及更高版本
Last Modified字段使用的日期格式被无意中更改为2.4.0中的"%Y-%m-%d %H:%M""%d-%b-%Y %H:%M"。设置此选项可将日期格式从2.2或更早版本恢复。
VersionSortApache HTTP Server 2.0a3及更高版本
VersionSort关键字使包含版本号来排序以自然的方式的文件。字符串按常规排序,只是名称和描述中的数字子字符串根据其数字值进行比较。

例:

foo-1.7
foo-1.7.2
foo-1.7.12
foo-1.8.2
foo-1.8.2a
foo-1.12

如果数字以零开头,则认为是分数:

foo-1.001
foo-1.002
foo-1.030
foo-1.04

XHTMLApache HTTP Server 2.0.49及更高版本
XHTML关键字的力mod_autoindex 以发射XHTML 1.0代码,而不是HTML 3.2。 如果FancyIndexing同时启用了此选项,则该选项才有效。
增量索引选项

注意如何IndexOptions处理多个。

  • IndexOptions现在,单个目录的多个指令合并在一起。的结果:
    <Directory "/foo">
        IndexOptions HTMLTable
        IndexOptions SuppressColumnsorting
    </Directory>

    将等于

    IndexOptions HTMLTable SuppressColumnsorting
  • 增加了增量语法(,用+或作为关键字的前缀-)。

每当遇到'+'或'-'前缀关键字时,它将被应用到当前IndexOptions 设置(该设置可能是从上级目录继承的)。但是,每当处理一个无前缀的关键字时,它都会清除所有继承的选项以及到目前为止遇到的所有增量设置。考虑以下示例:

IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
IndexOptions +SuppressSize

净效果等同于IndexOptions FancyIndexing +SuppressSize,因为未前缀FancyIndexing 的对象在其之前丢弃了增量关键字,但随后允许它们重新开始累积。

IndexOptions为特定目录无条件设置,请清除继承的设置,并指定没有任何前缀+-前缀的关键字。

最佳

IndexOrderDefault 指令

描述:设置目录索引的默认顺序
句法:IndexOrderDefault Ascending|Descending Name|Date|Size|Description
默认:IndexOrderDefault Ascending Name
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

IndexOrderDefault指令与FancyIndexingindex选项结合使用。默认情况下,fancyindexed目录列表按文件名升序显示;将 IndexOrderDefault允许您更改初始显示顺序。

IndexOrderDefault有两个参数。第一个必须为AscendingDescending,指示排序的方向。第二个参数必须是一个关键字NameDateSize,或Description,并识别主键。第二键 始终是升序文件名。

如果需要,您还可以通过添加SuppressColumnSorting 索引选项以从列顶部删除排序链接来防止客户端重新排序列表,并添加索引选项以防止客户端IgnoreClient手动将排序选项添加到查询字符串中覆盖您的订购偏好。

最佳

IndexStyleSheet 指令

描述:将CSS样式表添加到目录索引
句法:IndexStyleSheet url-path
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

IndexStyleSheet指令规定,将被用作CSS为索引中列出文件的名称。

IndexStyleSheet "/css/style.css"

将此指令与结合使用IndexOptions HTMLTable,可以在结果HTML中添加许多CSS类。整个表的CSS ID为indexlist,以下类别与清单的各个部分相关联:

定义
索引头列表标题行
th.indexcolicon和td.indexcolicon 图标栏
th.indexcolname和td.indexcolname 文件名列
th.indexcollastmod和td.indexcollastmod 最后修改的列
th.indexcolsize和td.indexcolsize 文件大小列
th.indexcoldesc和td.indexcoldesc 说明栏
破损 表格底部的水平尺
奇数和偶数 交替的偶数和奇数行
最佳

ReadmeName 指令

描述:将在索引列表末尾插入的文件名
句法:ReadmeName filename
内容:服务器配置,虚拟主机,目录,.htaccess
覆写:指标
状态:基础
模块:mod_autoindex

ReadmeName指令设置将被添加到索引列表的末尾文件的名称。Filename是要包含的文件的名称,并被视为相对于要建立索引的位置而言。如果 Filename以斜杠开头(如示例2所示),则将其视为相对于DocumentRoot

# Example 1
ReadmeName FOOTER.html
# Example 2
ReadmeName /include/FOOTER.html

另请参见HeaderName,其中详细描述了此行为。

可用语言: zh  |  fr  |  ja  |  ko  |  TR 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。