Содержание
Модуль Fancy Index позволяет создавать списки файлов, как это делает встроенный модуль автоиндекса, но добавляя немного стиля. Это возможно, поскольку модуль допускает определенную степень настройки генерируемого контента:
Этот модуль предназначен для работы с Nginx, высокопроизводительным веб-сервером с открытым исходным кодом, написанным Игорем Сысоевым.
Для пользователей официального стабильного репозитория Nginx доступен дополнительный репозиторий пакетов с динамическими модулями и включен FancyIndex.
Установите конфигурацию репозитория, затем пакет модуля:
ням -y установить https://extras.getpagespeed.com/release-latest.rpm ням -y установить nginx-module-fancyindex
Затем загрузите модуль в /etc/nginx/nginx.conf, используя:
load_module "modules/ngx_http_fancyindex_module.so";
Пользователи могут установить Nginx на macOS с помощью MacPorts; Fancyindex включен:
порт sudo установить nginx
В большинстве других случаев вам потребуются исходники Nginx. Любая версия, начиная с серии 0.8, должна работать.
Чтобы использовать директивы fancyindex_header_
и fancyindex_footer_
вам также понадобится модуль ngx_http_addition_module, встроенный в Nginx.
Распакуйте исходники Nginx:
$ Gunzip -c nginx-?.?.?.tar.gz | смола -xvf -
Распакуйте исходники необычного модуля индексирования:
$ Gunzip -c nginx-fancyindex-?.?.?.tar.gz | смола -xvf -
Перейдите в каталог, содержащий исходные коды Nginx, запустите скрипт конфигурации с нужными параметрами и обязательно установите флаг --add-module
указывающий на каталог, содержащий исходный код необычного модуля индексирования:
$ cd nginx-?.?.? $ ./configure --add-module=../nginx-fancyindex-?.?.? [--with-http_addition_module] [дополнительные желаемые параметры]
Начиная с версии 0.4.0, модуль также можно собрать как динамический модуль, используя вместо этого --add-dynamic-module=…
и load_module "modules/ngx_http_fancyindex_module.so";
в файле конфигурации
Соберите и установите программное обеспечение:
$ сделать
И затем от root
:
# сделать установку
Настройте Nginx, используя директивы конфигурации модулей.
Вы можете протестировать встроенный стиль по умолчанию, добавив следующие строки в раздел server
в файле конфигурации Nginx:
расположение / { FancyIndex включен; # Включить модные индексы. Fancyindex_exact_size выключен; # Вывод удобочитаемых размеров файлов. }
Следующие темы демонстрируют уровень настройки, которого можно достичь с помощью модуля:
Синтаксис: | фантазийный индекс [ на | выключенный ] |
---|---|
По умолчанию: | FancyIndex отключен |
Контекст: | http, сервер, местоположение |
Описание: | Включает или отключает модные индексы каталогов. |
Синтаксис: | Fancyindex_default_sort [ имя | размер | дата | имя_деска | размер_деска | date_desc ] |
---|---|
По умолчанию: | фантазииindex_default_sort имя |
Контекст: | http, сервер, местоположение |
Описание: | Определяет критерий сортировки по умолчанию. |
Синтаксис: | необычныйindex_case_sensitivity [ на | выключенный ] |
---|---|
По умолчанию: | Fancyindex_case_sensitivity включен |
Контекст: | http, сервер, местоположение |
Описание: | Если этот параметр включен (настройка по умолчанию), сортировка по имени будет осуществляться с учетом регистра. Если отключено, регистр будет игнорироваться при сортировке по имени. |
Синтаксис: | Fancyindex_directories_first [ на | выключенный ] |
---|---|
По умолчанию: | Fancyindex_directories_first включен |
Контекст: | http, сервер, местоположение |
Описание: | Если включено (настройка по умолчанию), каталоги группируются и сортируются перед всеми обычными файлами. Если отключено, каталоги сортируются вместе с файлами. |
Синтаксис: | Fancyindex_css_href URI |
---|---|
По умолчанию: | необычныйindex_css_href "" |
Контекст: | http, сервер, местоположение |
Описание: | Позволяет вставлять ссылку на таблицу стилей CSS в генерируемые списки. Предоставленный параметр uri будет вставлен в HTML-тег как есть. Ссылка вставляется после встроенных правил CSS, поэтому вы можете переопределить стили по умолчанию. |
Синтаксис: | Fancyindex_exact_size [ на | выключенный ] |
---|---|
По умолчанию: | Fancyindex_exact_size включен |
Контекст: | http, сервер, местоположение |
Описание: | Определяет, как представлять размеры файлов в списке каталогов: либо точно, либо округляя до килобайта, мегабайта и гигабайта. |
Синтаксис: | путь Fancyindex_footer [ подзапрос | местный ] |
---|---|
По умолчанию: | фантазийныйindex_footer "" |
Контекст: | http, сервер, местоположение |
Описание: | Указывает, какой файл должен быть вставлен в конец списка каталогов. Если задана пустая строка, будет отправлен нижний колонтитул по умолчанию, предоставленный модулем. Необязательный параметр указывает, следует ли рассматривать путь как URI для загрузки с использованием подзапроса (по умолчанию) или он ссылается на локальный файл. |
Примечание
Для использования этой директивы требуется модуль ngx_http_addition_module, встроенный в Nginx.
Предупреждение
При вставке пользовательского верхнего или нижнего колонтитула будет выдан подзапрос, поэтому потенциально любой URL-адрес может быть использован в качестве источника для них. Хотя он будет работать с внешними URL-адресами, поддерживается только использование внутренних. Внешние URL-адреса совершенно не проверялись, и их использование приведет к блокировке Nginx во время ожидания завершения подзапроса. Если вы чувствуете, что внешний верхний/нижний колонтитул вам необходим, дайте мне знать.
Синтаксис: | путь Fancyindex_header [ подзапрос | местный ] |
---|---|
По умолчанию: | фантазийныйindex_header "" |
Контекст: | http, сервер, местоположение |
Описание: | Указывает, какой файл должен быть вставлен в начало списков каталогов. Если задана пустая строка, будет отправлен заголовок по умолчанию, предоставленный модулем. Необязательный параметр указывает, следует ли рассматривать путь как URI для загрузки с использованием подзапроса (по умолчанию) или он ссылается на локальный файл. |
Примечание
Для использования этой директивы требуется модуль ngx_http_addition_module, встроенный в Nginx.
Синтаксис: | Fancyindex_show_path [ на | выключенный ] |
---|---|
По умолчанию: | Fancyindex_show_path включен |
Контекст: | http, сервер, местоположение |
Описание: | Выводить ли путь и закрывающий тег после заголовка. Это полезно, если вы хотите обрабатывать отображение пути, например, с помощью PHP-скрипта. |
Предупреждение
Эту директиву можно отключить только в том случае, если пользовательский заголовок предоставляется с помощью Fancyindex_header.
Синтаксис: | Fancyindex_show_dotfiles [ на | выключенный ] |
---|---|
По умолчанию: | Fancyindex_show_dotfiles выключен |
Контекст: | http, сервер, местоположение |
Описание: | Следует ли перечислять файлы, которым предшествует точка. Обычное соглашение – скрывать это. |
Синтаксис: | необычныйиндекс_игнорировать строка1 [строка2 [... строкаN]] |
---|---|
По умолчанию: | Нет по умолчанию. |
Контекст: | http, сервер, местоположение |
Описание: | Указывает список имен файлов, которые не будут отображаться в создаваемых списках. Если Nginx был создан с поддержкой PCRE, строки интерпретируются как регулярные выражения. |
Синтаксис: | Fancyindex_hide_symlinks [ на | выключенный ] |
---|---|
По умолчанию: | Fancyindex_hide_symlinks отключена |
Контекст: | http, сервер, местоположение |
Описание: | Если эта опция включена, созданные списки не будут содержать символические ссылки. |
Синтаксис: | Fancyindex_hide_parent_dir [ вкл | выключенный ] |
---|---|
По умолчанию: | Fancyindex_hide_parent_dir выключен |
Контекст: | http, сервер, местоположение |
Описание: | Если этот параметр включен, родительский каталог не будет отображаться. |
Синтаксис: | Fancyindex_localtime [ вкл | выключенный ] |
---|---|
По умолчанию: | Fancyindex_localtime выключен |
Контекст: | http, сервер, местоположение |
Описание: | Включает отображение времени файла как местного времени. По умолчанию «выключено» (время GMT). |
Синтаксис: | строка Fancyindex_time_format |
---|---|
По умолчанию: | Fancyindex_time_format "%Y-%b-%d %H:%M" |
Контекст: | http, сервер, местоположение |
Описание: | Строка формата, используемая для меток времени. Спецификаторы формата являются подмножеством тех, которые поддерживаются функцией strftime, и их поведение не зависит от локали (например, названия дня и месяца всегда на английском языке). Поддерживаемые форматы:
|