♦ DirectoryIndex — позволяет задать название документа, который будет возвращен по запросу, не содержащему имени документа. Например, если вы введете в строке адреса броузера http://localhost, то будет возвращен один из указанных в директиве DirectoryIndex документов. С помощью данной директивы можно задать несколько имен файлов. Значениями по умолчанию являются index.html index.php index.htm index.shtml index.cgi Default.htm default.htm index.php.
♦ FancyIndexing. При получении запроса, не содержащего имя документа, сервер передаст один из файлов, указанных в директиве DirectoryIndex. Если такой файл не существует, клиенту будет возвращено оглавление каталога. При включении директивы FancyIndexing в оглавлении каталога будут использованы значки и описания файлов. Если директива FancyIndexing выключена, оглавление будет представлено в более простом виде.
♦ AddIconByType (TEXT, URL) mime-type — сопоставляет значок типу файла. Значок будет использоваться при выводе каталога, если включена директива FancyIndexing. Параметр TEXT определяет текстовое описание типа, которое увидят пользователи, использующие текстовый браузер или пользователи, у которых отключено отображение рисунков. Параметр URL определяет адрес значка, а параметр mime-type — это тип файла, с которым нужно сопоставить значок. Полный перечень MIME-типов приведен в файле apache-mime.types. В качестве имени файла можно задать не только MIME-тип, но и символы, которыми заканчивается имя файла (см. листинг 16.1), но для этого нужно использовать директиву AddIcon вместо AddIconByType.
Листинг 16.1. Фрагмент файла httpd.conf
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
Первая директива в листинге сопоставляет типу video значок /icons/movie.gif. Вторая директива сопоставляет бинарным файлам *.bin и *.exe значок /icons/binary.gif. Значок по умолчанию задается директивой DefaultIcon.
16.3.7. Директивы обработки MIME-типов
Как вы помните, в Windows существует такое понятие, как расширение (или тип) файла. По расширению можно связать какую-либо программу с определенным типом файла. Например, когда вы щелкаете на файле с расширением .txt, запускается Блокнот, а при щелчке на файле .doc будет запущен Word. Точно такой же механизм реализован в Apache. Вы можете сопоставить типу файла программу-обработчик этого типа. Когда не был разработан модуль mod_php, программа php объявлялась обработчиком файла с расширением .php. Сервер запускал php, передавал ему файл, а потом возвращал пользователю результат.
♦ DefauttType. Если запрашиваемый клиентом тип не соответствует ни одному из MIME-типов, используется MIME-тип, указанный в директиве DefaultType.
♦ AddEncoding. Для сокращения времени передачи файла клиентам используется сжатие данных. Браузеры имеют встроенные программы для распаковки, запускаемые при получении архивов определенных MIME-типов. Именно эти MIME-типы и указываются в директиве AddEncoding.
♦ AddType — с помощью этой директивы можно добавить новый MIME-тип, который не указан в файле apache-mime.types.
♦ AddHandler и Action. Директива AddHandler позволяет сопоставить определенному MIME-типу какой-нибудь обработчик. А с помощью директивы Action можно определить какое-нибудь действие для обработчика. Использование этих директив, я думаю, лучше всего продемонстрировать на примере (листинг 16.2).
Листинг 16.2. Применение директив AddHandler и Action
AddHandler text/dhtml dhtml
Action text/dhtml /cgi-bin/dhtml parse
16.3.8. Директивы для работы с многоязычными документами
Если ваш сайт имеет несколько языковых версий — например, русскую и английскую, — целесообразно настроить директивы управления языком. Тогда пользователю не нужно будет щелкать по ссылкам «In English/Ha Русском» — сервер, исходя из настроек браузера, сам определит, какой язык предпочитает пользователь, и отобразит нужную страницу.
♦ AddLanguage. В большинстве браузеров можно задать предпочитаемый язык. Директива AddLanguage сопоставляет расширение файла аббревиатуре языка. Для русского языка используется аббревиатура ru, для английского — en. При этом в корневом каталоге вашего сервера могут находиться несколько индексных файлов на разных языках. Например, для русского языка нужно использовать имя файла index.html.ru, а для английского — index.html.en.