Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Украшаем листинг каталога в Apache

Источник: apachedev.ru
Дата: 12 октября 2007 года

Прочитал сегодня пост CSS Styling Apache Directory Listings. Очень интересный результат получил автор. Для каталогов софта, музыки и подобных сайтов такой подход позволит вообще обойтись без CMS, PHP и даже без HTML (кроме нескольких файлов).

Посмотрите, какого результата добился автор:

До:

До

После:

После

А вот как это сделано.

Устанавливаем через .htaccess или httpd.conf следующие параметры каталога (директива Directory).

RewriteEngine Off
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Options Indexes Includes
IndexOptions FancyIndexing SuppressHTMLPreamble XHTML IconsAreLinks FoldersFirst SuppressDescription
HeaderName /files/HEADER.shtml
ReadmeName /files/README.shtml

Объясню по порядку:

1. RewriteEngine off Отключаем mod_rewrite, чтобы ничего не химичил с ссылками.

2. С помощью директив

AddType text/html .shtml

AddOutputFilter INCLUDES .shtml

подключаем SSI для файлов .shtml

3. Options Indexes Includes Разрешаем листинг каталога и использование SSI.

4. IndexOptions рассмотрим подробнее.

4.1 FancyIndexing Включает расширенное отображение листинга каталога.

4.2 SuppressHTMLPreamble Подавляет вывод тегов html, head, title и body. Делается это для того, чтобы весь необходимый HTML код задать самим.

4.3 XHTML Включает использование разметки XHTML 1.0 вместо HTML 3.2. Доступно с версии Apache 2.0.49.

4.4 IconsAreLinks Делает иконки кликабельными.

4.5 FoldersFirst Каталоги отображаются перед файлами.

4.6 SuppressDescription Удаляет столбец Description. Остальные столбцы можно удалить директивами: SuppressLastModified, SuppressSize.

5. HeaderName /files/HEADER.shtml Задаем файл, который будет "приклеиваться" сверху листинга. В нем мы размещаем ссылки на CSS файлы, AdSense блоки, меню и прочее. Путь задается относительно текущего каталога (если не начинается со слеша), либо относительно DocumentRoot (если начинается со слеша).

6. ReadmeName /files/README.shtml Тоже самое, что и HeaderName, только клеится снизу.

Чтобы исключить некоторые файлы из листинга, используйте директиву IndexIgnore. Например, IndexIgnore HEADER* README*, скрывает все файлы начинающиеся с HEADER и README.

Для Apache 1.3 эти директивы будут иметь следующий вид:

RewriteEngine Off
AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes Includes
IndexOptions FancyIndexing SuppressHTMLPreamble IconsAreLinks FoldersFirst SuppressDescription
HeaderName /files/HEADER.shtml
ReadmeName /files/README.shtml

Чтобы изменить иконки файлов, либо измените старые, которые хранятся, например, тут: /var/www/icons/. Если же у вас нет доступа к этому каталогу, то можно использовать директивы AddIcon, AddIconByType и др. Например, AddIcon /icons/image.gif .gif .jpg .xbm задает иконку image.gif для файлов с расширением gif, jpg или xbm.

Вот и все. Теперь можно экспериментировать. Успехов.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
100K
03 марта 2019 года
0 / / 03.03.2019
Мне нравитсяМне не нравится
3 марта 2019, 19:47:36
Как сделать чтобы Подписи к колонкам были на русском, такие как Parent Directory, Name, Size
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог