Оформление листинга с помощью файла .htaccess

Полезные скрипты
Ответить
Аватара пользователя
mihas
Администратор
Сообщения: 1368
Зарегистрирован: 18 авг 2004, 16:58
Откуда: Москва
Контактная информация:

Оформление листинга с помощью файла .htaccess

Сообщение mihas »

Чтобы вывести содержимое каталога - листинг файлов в браузере - достаточно прописать в файле .htaccess в этом каталоге одну строку:

Код: Выделить всё

Options +Indexes
Однако такой листинг будет просто выводиться на пустой странице и не будет привязан к оформлению сайта.
Вот пример того, как привязать листинг к оформлению, а ниже - содержимое файла .htaccess в этом каталоге:

Код: Выделить всё

RewriteEngine Off
AddType "text/html; charset=windows-1251" .shtml .php
AddOutputFilter INCLUDES .shtml
Options Indexes Includes
IndexOptions Charset=windows-1251 HTMLtable NameWidth=* FancyIndexing SuppressHTMLPreamble XHTML IconsAreLinks FoldersFirst SuppressDescription
HeaderName /pdf/HEADER.shtml
ReadmeName /pdf/README.php
IndexIgnore HEADER* README*
Коротко разберем что к чему. HeaderName и ReadmeName - файлы, которые будут вставляться наверху листинга и внизу. SuppressHTMLPreamble подавляет вывод тегов html, head, title и body. Все эти теги мы пропишем сами в файлах HEADER.shtml и README.php. Чтобы эти файлы сами не отображались в листинге - запретим их отображение командой: IndexIgnore HEADER* README*. Файл HEADER.shtml ничем не отличается от обычного файла, в нем мы задаем стили и прочее, если нужно делаем навигацию, только не завершаем файл закрывающими тегами </body> и </html>: эти теги мы введем в файле без html-начала но с концом - в README.php.
Раздел IndexOptions позволяет установить еще несколько важных параметров:
Charset=windows-1251 - кодировка для листинга. Важно, что именно эта строка будет задавать кодировку для формируемой страницы а не Charset, установленный в файле HEADER.shtml.
HTMLtable - листинг будет заверстан в таблицу, оформлен тегами <tr>, <th>, <td>.
NameWidth=* задает ширину столбца Name по длине самого длинного имени файла.
FancyIndexing включает расширенное отображение листинга каталога
FoldersFirst выводит папки сначала.
SuppressDescription запрещает вывод обычно пустой колонки Description.
Ответить

Вернуться в «JavaScript»