Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_autoindex

Описание: Автоматически создаёт индексы каталогов, подобно команде Unix ls или команде оболочки Win32 dir
Статус: Базовый
Идентификатор модуля: autoindex_module
Исходный файл: mod_autoindex.c

Сводка

Индекс каталога может формироваться одним из двух способов:

  • Из файла, расположенного в этом каталоге и обычно называемого index.html. Директива DirectoryIndex задаёт имя файла или файлов, которые будут использоваться. Это настраивается с помощью mod_dir.
  • В противном случае используется список, сформированный сервером. Другие директивы управляют форматом этого списка. Директивы AddIcon, AddIconByEncoding и AddIconByType используются для задания списка значков, отображаемых для различных типов файлов; для каждого файла в списке отображается первый значок, соответствующий этому файлу. Эти настройки задаются с помощью mod_autoindex.

Эти две функции разделены, чтобы при необходимости можно было полностью отключить (или заменить) автоматическое создание индекса.

Автоматическое создание индекса включается с помощью Options +Indexes. Подробнее см. директиву Options.

Если для директивы IndexOptions задан параметр FancyIndexing, заголовки столбцов становятся ссылками, управляющими порядком отображения. При выборе ссылки на заголовок список формируется заново и сортируется по значениям в этом столбце. Повторный выбор того же заголовка переключает порядок сортировки с возрастающего на убывающий и обратно. Ссылки в заголовках столбцов можно отключить параметром SuppressColumnSorting директивы IndexOptions.

Обратите внимание: при сортировке по «Размеру» используется фактический размер файлов, а не отображаемое значение. Поэтому файл размером 1010 байт всегда будет показан перед файлом размером 1011 байт (при сортировке по возрастанию), хотя оба будут отображаться как «1K».

Аргументы запроса Autoindex

Доступны различные аргументы строки запроса, позволяющие клиенту управлять порядком сортировки списка каталога, а также тем, какие файлы будут включены в список. Если вы не хотите предоставлять клиенту такую возможность, параметр IndexOptions IgnoreClient отключает эту функциональность.

Ссылки в заголовках столбцов для сортировки являются гиперссылками на текущую страницу и добавляют приведённые ниже параметры сортировки. Любой из перечисленных параметров можно добавить к запросу ресурса каталога.

  • C=N сортирует каталог по имени файла
  • C=M сортирует каталог по дате последнего изменения, а затем по имени файла
  • C=S сортирует каталог по размеру, а затем по имени файла
  • C=D сортирует каталог по описанию, а затем по имени файла
  • O=A сортирует список по возрастанию
  • O=D сортирует список по убыванию
  • F=0 форматирует список как простой список (без FancyIndexed)
  • F=1 форматирует список как список FancyIndexed
  • F=2 форматирует список как список FancyIndexed в HTML-таблице
  • V=0 отключает сортировку версий
  • V=1 включает сортировку версий
  • P=pattern выводит только файлы, соответствующие заданному pattern

Обратите внимание: аргумент запроса «P»attern проверяется после обработки обычных директив IndexIgnore, а имена всех файлов по-прежнему должны соответствовать тем же критериям, что и в любом другом списке autoindex. Парсер аргументов запроса в 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
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

AddAlt задаёт альтернативный текст, отображаемый вместо значка для FancyIndexing. File — это расширение файла, часть имени файла, шаблон с подстановочными знаками или полное имя файла, для которого задаётся описание. Если String содержит пробельные символы, его необходимо заключить в кавычки (" или '). Этот альтернативный текст отображается, если клиент не поддерживает изображения, отключил их загрузку или не смог получить значок.

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

Директива AddAltByEncoding

Описание: Альтернативный текст, отображаемый вместо значка, выбранного по MIME-кодировке
Синтаксис:
AddAltByEncoding string MIME-encoding [MIME-encoding] ...
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

AddAltByEncoding задаёт альтернативный текст, отображаемый вместо значка для FancyIndexing. MIME-encoding — допустимая кодировка содержимого, например x-compress. Если String содержит пробельные символы, его необходимо заключить в кавычки (" или '). Этот альтернативный текст отображается, если клиент не поддерживает изображения, отключил их загрузку или не смог получить значок.

AddAltByEncoding gzip x-gzip

Директива AddAltByType

Описание: Альтернативный текст, отображаемый вместо значка, выбранного по типу содержимого MIME
Синтаксис:
AddAltByType string MIME-type [MIME-type] ...
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

AddAltByType задаёт альтернативный текст, отображаемый вместо значка для FancyIndexing. MIME-type — допустимый тип содержимого, например text/html. Если String содержит пробельные символы, его необходимо заключить в кавычки (" или '). Этот альтернативный текст отображается, если клиент не поддерживает изображения, отключил их загрузку или не смог получить значок.

AddAltByType 'plain text' text/plain

Директива AddDescription

Описание: Описание, отображаемое для файла
Синтаксис:
AddDescription string file [file] ...
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Эта директива задаёт описание, отображаемое для файла в FancyIndexing. File — это расширение файла, часть имени файла, шаблон с подстановочными знаками или полное имя файла, для которого задаётся описание. String заключается в двойные кавычки (").

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

Типичная ширина поля описания по умолчанию составляет 23 байта. Параметр IndexOptions SuppressIcon добавляет ещё 6 байт, параметр IndexOptions SuppressSize — 7 байт, а параметр IndexOptions SuppressLastModified — 19 байт. Таким образом, максимальная ширина столбца описания, назначаемая по умолчанию, составляет 55 байт.

Поскольку аргумент File может быть частью имени файла, помните, что слишком короткая часть имени может соответствовать непредусмотренным файлам. Например, le.html будет соответствовать файлу le.html, но также и файлу example.html. Если возможна неоднозначность, указывайте имя файла как можно полнее, но учитывайте, что будет использовано первое найденное совпадение, и располагайте директивы AddDescription в соответствующем порядке.

Подробнее о переопределении ширины этого столбца или разрешении описаний неограниченной длины см. ключевое слово DescriptionWidth IndexOptions.

Предупреждение

Описательный текст, заданный с помощью AddDescription, может содержать HTML-разметку, например теги и символьные сущности. Если из-за ширины столбца описания элемент с разметкой будет усечён (например, оборвётся конец выделенной жирным шрифтом фразы), это может повлиять на остальную часть списка каталога.

Аргументы с указанием пути

Абсолютные пути в настоящее время не поддерживаются и во время выполнения не соответствуют ни одному файлу. Аргументы с относительным путём, обычно используемые только в контексте htaccess, неявно получают префикс '*/', чтобы избежать совпадения с неполными именами каталогов.

Директива AddIcon

Описание: Значок, отображаемый для файла, выбранного по имени
Синтаксис:
AddIcon icon name [name] ...
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Эта директива задаёт значок, отображаемый рядом с файлом, имя которого заканчивается на name, в FancyIndexing. Icon — это либо относительный URL значка (с экранированием %-символов), либо полный URL удалённого ресурса, либо строка формата (alttext,url), где alttext — текстовая метка значка для браузеров без графического интерфейса.

Name — это ^^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
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Эта директива задаёт значок, отображаемый рядом с файлами, имеющими FancyIndexing. Icon — это либо относительный URL значка (с экранированием %-символов), либо полный URL удалённого ресурса, либо строка формата (alttext,url), где alttext — текстовая метка значка для браузеров без графического интерфейса.

MIME-encoding — допустимая кодировка содержимого, например x-compress.

AddIconByEncoding /icons/compress.png x-compress

Директива AddIconByType

Описание: Значок, отображаемый рядом с файлами, выбранными по типу содержимого MIME
Синтаксис:
AddIconByType icon MIME-type [MIME-type] ...
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Эта директива задаёт значок, отображаемый рядом с файлами типа MIME-type в FancyIndexing. Icon — это либо относительный URL значка (с экранированием %-символов), либо полный URL удалённого ресурса, либо строка формата (alttext,url), где alttext — текстовая метка значка для браузеров без графического интерфейса.

MIME-type — шаблон с подстановочными знаками, соответствующий требуемым типам MIME.

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

Директива DefaultIcon

Описание: Значок, отображаемый для файлов, если для них не настроен специальный значок
Синтаксис:
DefaultIcon url-path
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Директива DefaultIcon задаёт значок, отображаемый для файлов, для которых не найден специальный значок, в FancyIndexing. Url-path — это относительный URL значка (с экранированием %-символов) или полный URL удалённого ресурса.

DefaultIcon /icon/unknown.png

Директива HeaderName

Описание: Имя файла, который будет вставлен в начало списка индекса
Синтаксис:
HeaderName filename
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Директива HeaderName задаёт имя файла, который будет вставлен в начало списка индекса. Filename — имя включаемого файла.

HeaderName HEADER.html

Теперь и HeaderName, и ReadmeName рассматривают Filename как URI-путь относительно пути, использованного для доступа к индексируемому каталогу. Если Filename начинается с косой черты, он будет рассматриваться относительно DocumentRoot.

HeaderName /include/HEADER.html

Filename должен разрешаться в документ с основным типом содержимого text/* (например, text/html, text/plain и т. д.). Это означает, что filename может указывать на CGI-скрипт, если фактический тип файла скрипта (в отличие от типа его вывода) отмечен как text/html, например с помощью такой директивы:

AddType text/html .cgi

Согласование содержимого будет выполнено, если действует Options MultiViews. Если filename разрешается в статический документ text/html (не CGI-скрипт) и включена одна из директив options Includes или IncludesNOEXEC, файл будет обработан для серверных включений (см. документацию mod_include).

Если файл, заданный директивой HeaderName, содержит начало HTML-документа (<html>, <head> и т. д.), вероятно, вам потребуется задать IndexOptions +SuppressHTMLPreamble, чтобы эти теги не повторялись.

См. также

  • ReadmeName

Директива IndexHeadInsert

Описание: Вставляет текст в раздел HEAD страницы индекса.
Синтаксис:
IndexHeadInsert "markup ..."
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Директива IndexHeadInsert задаёт строку для вставки в раздел <head> HTML-кода, генерируемого для страницы индекса.

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

Директива IndexIgnore

Описание: Добавляет файлы в список скрываемых при выводе содержимого каталога
Синтаксис:
IndexIgnore file [file] ...
Значение по умолчанию:
IndexIgnore "."
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Директива IndexIgnore добавляет файлы в список скрываемых при выводе содержимого каталога. File — это шаблон с подстановочными знаками в стиле оболочки или полное имя файла. Несколько директив IndexIgnore дополняют список, а не заменяют его. По умолчанию список содержит . (текущий каталог).

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

Регулярные выражения

В настоящее время эта директива не работает в разделах конфигурации с аргументами, заданными регулярными выражениями, например в <DirectoryMatch>

Директива IndexIgnoreReset

Описание: Очищает список файлов, скрываемых при выводе содержимого каталога
Синтаксис:
IndexIgnoreReset ON|OFF
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: 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
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Директива IndexOptions задаёт поведение индексирования каталогов. Параметр может принимать одно из следующих значений:

AddAltClass
Добавляет дополнительное объявление класса CSS для каждой строки таблицы со списком файлов, если включён IndexOptions HTMLTable и определён IndexStyleSheet. Вместо стандартных классов even и odd, которые в противном случае применялись бы к каждой строке таблицы, используется класс even-ALT или odd-ALT, где ALT — это стандартный альтернативный текст, связанный со стилем файла (например, snd, txt, img и т. д.), или текст, заданный одной из директив AddAlt*.
Charset=набор-символов
Ключевое слово Charset позволяет указать набор символов для сгенерированной страницы. По умолчанию используется UTF-8 в Windows и Mac OS X и ISO-8859-1 в остальных системах. (Это зависит от того, использует ли нижележащая файловая система имена файлов в Unicode.)
IndexOptions Charset=UTF-8
DescriptionWidth=[n | *]
Ключевое слово DescriptionWidth позволяет задать ширину столбца описания в символах.
-DescriptionWidth (или отсутствие значения) позволяет mod_autoindex вычислить оптимальную ширину.
DescriptionWidth=n задаёт ширину столбца в n байт.
DescriptionWidth=* расширяет столбец до ширины, необходимой для самого длинного описания. Информацию об опасностях, связанных с усечением описаний, см. в разделе AddDescription.
FancyIndexing
Включает расширенное индексирование каталогов.
FoldersFirst
Если этот параметр включён, подкаталоги всегда отображаются первыми, а за ними следуют обычные файлы каталога. Список делится на две части — файлы и подкаталоги. Каждая часть сортируется отдельно, после чего подкаталоги выводятся первыми. Например, если задана сортировка по имени в обратном порядке и включён FoldersFirst, подкаталог Zed будет показан перед подкаталогом Beta, а тот — перед обычными файлами Gamma и Alpha. Этот параметр действует только в том случае, если также включён FancyIndexing.
HTMLTable
Этот параметр вместе с FancyIndexing создаёт простую таблицу для расширенного списка файлов каталога. Он необходим на платформах с поддержкой UTF-8, а также если имена файлов или текст описаний могут чередоваться в направлении чтения слева направо и справа налево.
IconsAreLinks
При расширенном индексировании значки становятся частью ссылки на имя файла.
IconHeight[=пиксели]
При наличии этого параметра, используемого вместе с IconWidth, сервер добавляет атрибуты height и width в тег img значка файла. Это позволяет браузеру заранее рассчитать макет страницы, не дожидаясь загрузки всех изображений. Если значение не указано, используется стандартная высота значков, входящих в состав Apache httpd. Этот параметр действует только в том случае, если также включён FancyIndexing.
IconWidth[=пиксели]
При наличии этого параметра, используемого вместе с IconHeight, сервер добавляет атрибуты height и width в тег img значка файла. Это позволяет браузеру заранее рассчитать макет страницы, не дожидаясь загрузки всех изображений. Если значение не указано, используется стандартная ширина значков, входящих в состав Apache httpd.
IgnoreCase
Если этот параметр включён, имена сортируются без учёта регистра. Например, если задана сортировка по имени в алфавитном порядке и включён IgnoreCase, файл Zeta будет показан после файла alfa (обратите внимание: файл GAMMA всегда будет показан перед файлом gamma).
IgnoreClient
Этот параметр заставляет mod_autoindex игнорировать все переменные запроса, переданные клиентом, включая порядок сортировки (подразумевает SuppressColumnSorting).
NameWidth=[n | *]
Ключевое слово NameWidth позволяет указать ширину столбца с именами файлов в байтах.
-NameWidth (или отсутствие значения) позволяет mod_autoindex вычислить оптимальную ширину, но не более 20 байт.
NameWidth=n задаёт ширину столбца в n байт.
NameWidth=* расширяет столбец до необходимой ширины.
ScanHTMLTitles
Включает извлечение заголовка из HTML-документов при расширенном индексировании. Если описание файла не задано с помощью AddDescription, httpd прочитает документ и извлечёт значение элемента title. Эта операция требует значительных ресурсов процессора и диска.
ShowForbidden
Если параметр указан, Apache httpd будет показывать файлы, обычно скрытые, поскольку подзапрос вернул HTTP_UNAUTHORIZED или HTTP_FORBIDDEN
SuppressColumnSorting
Если параметр указан, Apache httpd не будет превращать заголовки столбцов расширенного списка файлов каталога в ссылки для сортировки. По умолчанию заголовки являются ссылками: при выборе заголовка список сортируется по значениям этого столбца. Однако аргументы строки запроса, добавленные к URL, по-прежнему будут учитываться. Это поведение регулируется параметром IndexOptions IgnoreClient.
SuppressDescription
Этот параметр скрывает описания файлов в расширенных списках. По умолчанию описания файлов не задаются, поэтому этот параметр позволит освободить 23 символа экранного пространства для других целей. Информацию о задании описания файла см. в разделе AddDescription. Чтобы ограничить ширину столбца описания, см. также параметр индексирования DescriptionWidth. Этот параметр действует только в том случае, если также включён FancyIndexing.
SuppressHTMLPreamble
Если в каталоге действительно находится файл, указанный директивой HeaderName, модуль обычно добавляет содержимое этого файла после стандартной преамбулы HTML (<html>, <head>, и так далее). Параметр SuppressHTMLPreamble отключает это поведение, заставляя модуль начинать вывод с содержимого файла заголовка. В этом случае файл заголовка должен содержать соответствующие инструкции HTML. Если файл заголовка отсутствует, преамбула создаётся как обычно. Если также указана директива ReadmeName и соответствующий файл существует, закрывающие теги </body></html> также не добавляются в вывод; предполагается, что вы, вероятно, поместите эти закрывающие теги в этот файл.
SuppressIcon
Этот параметр скрывает значки в расширенных списках файлов. Совместное использование параметров SuppressIcon и SuppressRules позволяет получить корректный вывод HTML 3.2, спецификация которого запрещает использовать элементы img и hr в блоке pre (используемом для форматирования расширенных списков файлов).
SuppressLastModified
Этот параметр скрывает дату последнего изменения в расширенных списках файлов. Этот параметр действует только в том случае, если также включён FancyIndexing.
SuppressRules
Этот параметр скрывает горизонтальные линии (элементы hr) в списках файлов каталогов. Совместное использование параметров SuppressIcon и SuppressRules позволяет получить корректный вывод HTML 3.2, спецификация которого запрещает использовать элементы img и hr в блоке pre (используемом для форматирования расширенных списков файлов). Этот параметр действует только в том случае, если также включён FancyIndexing.
SuppressSize
Этот параметр скрывает размеры файлов в расширенных списках. Этот параметр действует только в том случае, если также включён FancyIndexing.
TrackModified
Этот параметр возвращает значения Last-Modified и ETag для отображаемого каталога в заголовке HTTP. Он допустим только в том случае, если операционная система и файловая система возвращают соответствующие результаты stat(). Некоторые системы Unix это поддерживают, как и тома JFS в OS2 и NTFS в Win32. Например, тома FAT в OS2 и Win32 этого не поддерживают. После включения этой функции клиент или прокси-сервер может отслеживать изменения списка файлов при выполнении запроса HEAD. Обратите внимание: некоторые операционные системы корректно отслеживают добавление и удаление файлов, но не отслеживают изменение размеров или дат файлов в каталоге. На всех платформах Unix изменение размера или даты существующего файла не обновит заголовок Last-Modified. Если это важно, не включайте этот параметр.
Type=тип содержимого MIME
Ключевое слово Type позволяет указать тип содержимого MIME для сгенерированной страницы. По умолчанию используется text/html.
IndexOptions Type=text/plain
UseOldDateFormat (Apache HTTP Server 2.4.26 и более поздних версий)
Формат даты для поля Last Modified был случайно изменён с "%d-%b-%Y %H:%M" на "%Y-%m-%d %H:%M" в версии 2.4.0. Установка этого параметра восстанавливает формат даты, использовавшийся в версии 2.2 и более ранних версиях.
VersionSort
Ключевое слово 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
XHTML
Ключевое слово XHTML заставляет mod_autoindex выводить код XHTML 1.0 вместо HTML 3.2. Этот параметр действует только в том случае, если также включён FancyIndexing.
Инкрементальные параметры IndexOptions

Учитывайте, как обрабатываются несколько директив 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
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Директива IndexOrderDefault используется вместе с параметром индексирования FancyIndexing. По умолчанию расширенные списки файлов каталогов отображаются в алфавитном порядке по имени файла; директива IndexOrderDefault позволяет изменить этот порядок отображения.

Директива IndexOrderDefault принимает два аргумента. Первый должен быть Ascending или Descending и задаёт направление сортировки. Второй аргумент должен быть одним из ключевых слов Name, Date, Size или Description и определяет основной ключ сортировки. Вторичный ключ — всегда имя файла в алфавитном порядке.

При необходимости можно запретить клиенту изменять порядок списка, добавив параметр индексирования SuppressColumnSorting, который удаляет ссылку для сортировки в заголовке столбца, а также параметр индексирования IgnoreClient, который запрещает вручную добавлять параметры сортировки в строку запроса и тем самым переопределять заданный порядок.

Директива IndexStyleSheet

Описание: Добавляет таблицу стилей CSS к индексу каталога
Синтаксис:
IndexStyleSheet url-path
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Директива IndexStyleSheet задаёт имя файла, который будет использоваться в качестве таблицы стилей CSS для списка файлов.

IndexStyleSheet "/css/style.css"

Использование этой директивы вместе с IndexOptions HTMLTable добавляет в результирующий HTML ряд классов CSS. Всей таблице присваивается идентификатор CSS indexlist, а следующим частям списка назначаются соответствующие классы:

Класс Описание
tr.indexhead Строка заголовка списка
th.indexcolicon and td.indexcolicon Столбец значков
th.indexcolname and td.indexcolname Столбец имён файлов
th.indexcollastmod and td.indexcollastmod Столбец даты последнего изменения
th.indexcolsize and td.indexcolsize Столбец размера файла
th.indexcoldesc and td.indexcoldesc Столбец описания
tr.breakrow Горизонтальная линия в нижней части таблицы
tr.odd and tr.even Чётные и нечётные строки, отображаемые попеременно

Директива ReadmeName

Описание: Имя файла, который будет добавлен в конец списка файлов
Синтаксис:
ReadmeName filename
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Indexes
Статус: Базовый
Модуль: mod_autoindex

Директива ReadmeName задаёт имя файла, который будет добавлен в конец списка файлов. Filename — имя включаемого файла, путь к которому считается относительно индексируемого расположения. Если Filename начинается с косой черты, как в примере 2, путь считается относительно DocumentRoot.

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

Подробное описание этого поведения см. также в разделе HeaderName.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_autoindex.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API