Колисниченко Денис Николаевич
Шрифт:
AddEncoding. Для сокращения времени передачи файла клиентам используется сжатие данных. Браузеры имеют встроенные программы для распаковки, запускаемые при получении архивов определенных MIME-типов. Именно эти MIME-типы и указываются в директиве AddEncoding.
AddLanguage. В большинстве браузеров можно задать предпочитаемый язык. Благодаря этому вы можете предоставлять документы на разных языках.
Директива AddLanguage сопоставляет расширение файла аббревиатуре языка. Для русского языка используется аббревиатура ru , для английского — еп.
При этом в корневом каталоге вашего сервера могут находиться несколько индексных файлов на разных языках. Например, для русского языка нужно использовать имя файла index.html.ru, а для английского — index.html.en. LanguagePriority. Если на вашем сервере размещены документы на разных языках, то с помощью директивы LanguagePriority можно указать приоритеты различных языков. Например, вы установили директиву LanguagePriority так:
Клиент вводит в строке адреса своего браузера адресЕсли в свойствах браузера имеется возможность задать предпочитаемый язык, то возвращен будет файл на нужном языке, если такой существует. Если браузер клиента не поддерживает такую возможность, будет возвращен файл на языке, имеющим наиболее высокий приоритет. В рассмотренном случае (см. пример) это английский язык. Если файл на нужном языке, например, на немецком, не существует, то будет возвращен файл на английском языке. Для того, чтобы сервер поддерживал нужный вам язык, предварительно установите правильное значение директивы AddLanguage.
Redirect. Используйте директиву Redirect, когда нужно перенести документы в другой каталог или на другой сервер. Например, вам нужно перенести данные из каталога /users/den в каталог /den. Если при этом старый URL-адрес былто новый станетИспользуйте для этого следующую директиву:
Можно также перенаправить запрос на другой сервер:
При этом допускается использование как нового, так и старого URL-адреса.
Alias — с помощью директивы Alias можно предоставить доступ не только к файлам, находящимся в каталоге, указанном директивой DocumentRoot и его подкаталогах, но и в других каталогах. По умолчанию определен только псевдоним для каталога /icons.
ScriptAlias — аналогична директиве Alias, но позволяет задать месторасположение каталога для CGI-сценариев.
AddType — с помощью этой директивы можно добавить новый MIME-тип, который не указан в файле apache-mime, types.
AddHandler и Action. Директива AddHandler позволяет сопоставить определенному MIME-типу какой-нибудь обработчик. А с помощью директивы Action можно определить какое-нибудь действие для обработчика. Например, вы можете запустить какую-нибудь программу для обработки файла данного типа. Использование этих директив, я думаю, лучше всего продемонстрировать на примере (см. листинг 12.2).
ErrorDocument — директива, сопоставляющая коды ошибок сервера URL-адресам на этом же сервере.
Теперь рассмотрим директивы управления доступом к отдельным каталогам. Данные директивы очень похожи на блочные директивы сервера ProFTPD, которые обсуждались в предыдущей главе.
Directory — обычно определяет свойства каталога (см. листинг 12.3).
Свойства каталога можно указывать в директиве Directory или в файле .htaccess, который находится в том каталоге, для которого необходимо установить нужные параметры.
В блоке Directory могут находиться директивы управления доступом. К ним относятся директивы AllowOverride, Options, Limit. Рассмотрим по порядку все эти директивы. Директива AllowOverride может принимать значения, указанные в табл. 12.1.
Значения директивы AllowOverride Таблица 12.1
| Значение | Описание |
|---|---|
| None | Сервер Apache будет игнорировать файлы .htaccess. Рекомендую установить данную опцию, так как это повысит производительность сервера |
| All | Пользователи имеют право переопределять в файлах .htaccess глобальные параметры доступа. Из соображений безопасности лучше не использовать этот режим |
| Options | Разрешает использовать директиву Options |
| Limit | Разрешает использовать директиву Limit |
| AuthConfig | Разрешает использование директив AuthName, AuthType, AuthUserFile и AuthGroupFile |
| FileInfo | Разрешает использовать в файлах .htaccess директивы AddType и AddEncoding |
С помощью директивы Option sможно определить функции сервера, которые будут доступны для использования в определяемом каталоге. Данную директиву можно использовать как в файле httpd.conf, так и в файлах .htaccess. Допустимые опции для директивы Options представлены в табл. 12.2.
Limit метод. Директива Limit ограничивает доступ к файлам в определенном каталоге.
Параметр метод определяет метод передачи, например, GET или POST. Директиву Limit можно использовать внутри блоков Directory, Location или в файле .htacccess.