Замена автоиндексу в apache2
Для создания файлового архива потребовался "единый" index.php для кучи каталогов. Решение нашлось следущее (правда не совсем удачное :))
1. Отключаем модуль autoindex в апаче, удалив соответствующие файлы из /etc/apache2/mods-enabled
2. В /etc/apache2/apache2.conf добавляем строки:
ErrorDocument 404 /index.php ErrorDocument 402 /index.php
3. Закидываем index.php в рутовский каталог.
4. Для обработки файлов в index.php добавляем код примерно такого содержания:
$url=$_SERVER['REQUEST_URI']; if($url == "" || $url == "/" || ereg("/+/$",$url)) {$arr = glob("*");} else {$arr = glob($root.$url."*");} // здесь: // $root = DirectoryRoot (обычно это /var/www) // можно заченить на opendir, readdir... мне показалось так удобнее for ($i = 0; $i <= count($arr)-1; $i++) { $f = "$arr[$i]"; $fu = str_replace("$root","",$f); $fn = str_replace("$root".$url,"",$f); // здесь: // $f - системный путь к файлу // $fu - ссылка на файл // $fn - имя файла // ВАШ КОД // ссылка, например, будет выглядеть так: // $filesize = get_file_size("$f"); // echo "<a href='$fu'> $fn ($filesize)</a>"; }
- 1601 просмотр
Страница для печати

Можно было index от nginx использовать
Отправить комментарий