Сделай apache directory index секси в 2 шага
09 декабря 2005
Здесь несколько изображений: Вот как всё это выглядит на обычной конфигурации, с моей конфигурацией, более ранняя конфигурация.
Что б сделать такое же у себя на сервере Вам нужно пройти 2 шага:
- конфигурация индекса директории и разработка дизайна
- замена стандартных иконок типов файлов на свои.
Первый шаг
Допустим Ваша директория, которую Вы хотите сделать видимой с помощью apache лежит здесь: /www/dirТеперь вам нада создать новую папку в этой диресктории с "." в начале названия,
mkdir /www/dir/.include
теперь вы можете установить все необходимые файлы для секси индицирования в эту папку. Создайте header.html, end.html и default.css в этой новой директории.header.html файл необходим для того чтобы указать дизайн ваших страниц до перечисления файлов, end.hml - после. А default.css всего лиш файл стилей для того чтобы определить как все елементы на странице должны выглядеть.
Вы можете посмотреть все файлы полностью сами, здесь я буду указывать только на главные части. Например сделаем header.hml таким образом:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<title>files.myeburg.net</title>
<link rel="stylesheet" type="text/css" href="/.include/default.css">
</head>
<body>
<div id="hdr">
<div id="logo"><a href="http://screens.myeburg.net/">screens myeburg.net</a></div>
<div id="content">
А end.html выглядит вот так: </div>
</body>
</html>
Теперь Вам осталось сделать default.css для указания стилей страницы, что и будет указывать браузеру как всё будет выглядеть.Перейдём к конфигурации apache.Всё это можно прописать в http.conf (или файлах которые он подключает), или как раз в htaccess который должен быть в DocumentRoot или в папке индексирования.
Это моя конфигурация для всего virtualhost. Я не очень люблю делать такие вещи в httaccess файлах, поскольку это немножко больше нагружает веб-сервер.
<VirtualHost *:80>
ServerName files.myeburg.net
DocumentRoot "/www/dir"
HeaderName "/.include/header.html"
ReadmeName "/.include/end.html"
<Directory "/www/dir">
Options Indexes
<IfModule mod_autoindex.c>
IndexOptions FancyIndexing SuppressHTMLPreamble FoldersFirst ScanHTMLTitles
IndexOptions DescriptionWidth=24
IndexOptions NameWidth=48
</IfModule>
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Как Вы видите я определяю заглавную и Readme часть файла также указываю опции для fancy индексирования 
Все файлы, которые я использую Вы можете посмотреть здесь: files.myeburg.net/.include/
После перезагрузки (если конфигурация была сделана в части http.conf) apache Вы должны получить новый вид индексирования папок. Вот только картинки типов файлов пока ещё очень страшные. Эту проблему мы решим во 2 разделе.
Второй Шаг
Нам нужны более красивые иконки для всех типов файлов. Я использую иконки из гнома, mime png размером 16x16. Этот размер не оптимальный, потому что не соответствует размеру шрифта, а ещё Интернет Експлорер не умеет показывать прозрачности в png. Я не забочусь о людях которые используют buggy программы
Нам придётся опять изменить http.conf файл и добавить больше определений с иконками и типами файлов.
Здесь полная конфигурация которая Вам нужна, а вот маленькая часть того как оно выглядит:
<IfModule mod_autoindex.c>
AddIcon /icons/csharp.png .csharp
AddIcon /icons/flash.png .flv .swf
</IfModule>
Вам ещё нужно загрузить все файлы с иконками на сервер
и заменить ими существующие уже в apache. Это всё, после перезагрузки apache у Вас получилась собственная секси индексация файлов в папке 
Добавка: мои архивы икон.