apache генерация списка файлов в utf-8

В apache по умолчанию при включенном модуле генерации листинга директорий используется кодировка ISO-8859-1 или может быть любая другая кроме нужной. Это приводит к тому, что очень неудобно использовать http сервер для навигации по файловой системе сервера, а это очень удобно когда вебсервер работает поверх smb/nfs/ftp сервера -- можно быстро и наглядно давать ссылки на нужные файлы, не нужно ничего кроме браузера, который есть у всех и все умеют им пользоваться!

Чтобы заставить apache выдавать листинг расшаренной директории в правильной кодировке необходимо использовать один из методов

глобальный: добавить опцию Charset=UTF-8 в список параметра IndexOptions модуля autoindex, эта опция находится в файле /etc/apache2/mods-enabled/autoindex.conf

должно получиться вот так:

IndexOptions FancyIndexing VersionSort HTMLTable NameWidth=* DescriptionWidth=* Charset=UTF-8

локальный, то-есть будет действовать только на уровне выбранного виртуального хоста: добавить опцию IndexOptions Charset=UTF-8 в файл опрелеяющий виртуальный хост

будет что-то вроде этого:

       < Directory /home/ftp/>
                 AddDefaultCharset UTF-8
                 Options FollowSymLinks MultiViews Indexes
                 IndexOptions Charset=UTF-8
                 AllowOverride None
                 Order allow,deny
                 allow from all
         < /Directory >

вот и всё, для проверки запускаем

sudo apache2ctl configtest 

и если всё в порядке перезапускаем вебсервер без остановки

sudo apache2ctl  graceful
Комментариев 0
Нужна авторизация с помощью
Об авторе
Илья Илья

меня можно найти тут