AutoIndex#

Serves requests ending with a slash (/) and produces a directory listing. Usually, a request is passed to the AutoIndex module when the Index module cannot find an index file.

Configuration Example#

location / {
    autoindex on;
}

Directives#

autoindex#

Syntax

autoindex on | off;

Default

autoindex off;

Context

http, server, location

Enables or disables the directory listing output.

autoindex_exact_size#

Syntax

autoindex_exact_size on | off;

Default

autoindex_exact_size on;

Context

http, server, location

For the HTML format, specifies whether exact file sizes should be output in the directory listing, or rather rounded to kilobytes, megabytes, and gigabytes.

autoindex_format#

Syntax

autoindex_format html | xml | json | jsonp;

Default

autoindex_format html;

Context

http, server, location

Sets the format of a directory listing.

When the JSONP format is used, the name of a callback function is set with the callback request argument. If the argument is missing or has an empty value, then the JSON format is used.

The XML output can be transformed using the XSLT module.

Output Formats

Object fields in responses contain the following data:

Field

Description

name

File or directory name

type

Object type: file or directory

size

Object size according to autoindex_exact_size; for directories — 0

mtime

Last modification time in Unix time format

<html>
<head>
    <title>Index of /files/</title>
</head>
<body>
    <h1>Index of /files/</h1>
    <hr>
    <pre>
            <a href="../">../</a>
            <a href="example.txt">example.txt</a>               12-Jun-2025 14:21    1234
            <a href="image.png">image.png</a>                   12-Jun-2025 14:21    4321
            </pre>
    <hr>
</body>
</html>

autoindex_localtime#

Syntax

autoindex_localtime on | off;

Default

autoindex_localtime off;

Context

http, server, location

For the HTML format, specifies whether times in the directory listing should be output in the local time zone or UTC.