一、autoindex概述
autoindex是Nginx的一个自带模块,它用于在浏览器中展示一个目录列表。 当用户访问一个Nginx web服务器下的一个目录而不是一个特定的文件时,autoindex模块会创建一个HTML页面,列出目录下的所有文件及其相关的信息,如文件大小、创建时间、文件类型等。 autoindex模块还允许用户对文件进行下载、删除和重命名等操作。
二、autoindex模块的开启和配置
开启autoindex只需要在Nginx配置文件中添加一行autoindex on
语句即可:
server {
listen 80;
server_name localhost;
root /var/www/html;
autoindex on;
}
除了on
之外,还可以设置autoindex
为off
或exact
,默认为exact
。
当autoindex
为off
时,将禁用目录列表功能,页面会返回404错误。
当autoindex
为exact
时,Nginx将只显示与请求的URI精确匹配的目录,而不是所有子目录。
同时,autoindex还允许我们进行更加详细的配置。我们可以设置autoindex_format
来控制目录列表的格式、autoindex_localtime
来控制是否用本地时间显示、autoindex_max_size
来限制列表中文件的最大大小等。
三、autoindex的格式配置
autoindex_format
可以设置各种目录列表的格式,比如简单的默认格式、带有气泡提示的完整格式等等。下面是默认的autoindex_format
配置:
autoindex_format html;
autoindex_localtime on;
autoindex_exact_size off;
autoindex_min_file_size 0;
autoindex_name_len 255;
autoindex_description on;
autoindex_header_len 35;
autoindex_enable_charset on;
autoindex_charset utf-8;
我们可以根据自己的需求进行修改。例如,我们可以将autoindex_format
设置为完整格式:
autoindex_format fancy;
这里的fancy
表示我们将使用一个带有气泡提示的完整格式,这样页面中的每个文件都有一个气泡提示框,可以显示更多的文件信息。
我们还可以使用autoindex_format
指定一个自定义的模板,例如:
autoindex_format "
<title>{{TITLE}}</title>
<h1>{{HEADER}}</h1>
<table>
<thead>
<tr>
<th>名字</th>
<th>大小</th>
<th>创建时间</th>
</tr>
</thead>
<tbody>
{{FILES}}
</tbody>
</table>
<p>{{FOOTER}}</p>
"