Аллен Питер В.
Шрифт:
Листинг 16.2. Применение директив AddHandler и Action
16.3.8. Директивы для работы с многоязычными документами
Если ваш сайт имеет несколько языковых версий — например, русскую и английскую, — целесообразно настроить директивы управления языком. Тогда пользователю не нужно будет щелкать по ссылкам «In English/Ha Русском» — сервер, исходя из настроек браузера, сам определит, какой язык предпочитает пользователь, и отобразит нужную страницу.
♦ AddLanguage. В большинстве браузеров можно задать предпочитаемый язык. Директива AddLanguage сопоставляет расширение файла аббревиатуре языка. Для русского языка используется аббревиатура ru, для английского — en. При этом в корневом каталоге вашего сервера могут находиться несколько индексных файлов на разных языках. Например, для русского языка нужно использовать имя файла index.html.ru, а для английского — index.html.en.
♦ LanguagePriority. Если на вашем сервере размещены документы на разных языках, то с помощью директивы LanguagePriority можно указать приоритеты различных языков. Клиент вводит в адресной строкеЕсли в свойствах браузера имеется возможность задать предпочитаемый язык, то возвращен будет файл на нужном языке, если такой существует. Если же браузер клиента не поддерживает эту возможность, будет возвращен файл на языке, имеющем наиболее высокий приоритет. Для того, чтобы сервер поддерживал нужный вам язык, предварительно установите правильное значение директивы AddLanguage.
16.3.9. Директивы перенаправления
Довольно часто нужно перенаправить пользователя на другой ресурс: например, вы сменили хостера и из-за этого изменилось имя вашего сайта. Обычно при таком «переезде» у вас есть определенное время, чтобы сообщить вашим пользователям об этом. Проще всего установить на старом сервере перенаправление на новый — во-первых, пользователи узнают ваш новый адрес, а во-вторых, им не нужно будет вводить этот адрес вручную — сервер сделает все автоматически.
Возможно, вы просто перенесли файлы в другой каталог — вам так удобнее, но пользователи не знают об этом и по-прежнему обращаются к старому каталогу. Тогда создайте редирект на новый каталог, и сервер автоматически перенаправит пользователей на него.
♦ Redirect. Используйте эту директиву, когда нужно перенести документы в другой каталог или на другой сервер. Например, вам нужно перенести данные из каталога /users/den в каталог /den. Если при этом старый URL-адрес былто новый станетИспользуйте для этого следующую директиву:
♦ Alias — с помощью директивы Alias можно предоставить доступ не только к файлам, находящимся в каталоге, указанном директивой DocumentRoot и его подкаталогах, но и в других каталогах. По умолчанию определен только псевдоним для каталога /icons.
♦ ScriptAlias — аналогична директиве Alias, но позволяет задать месторасположение каталога для CGI-сценариев.
16.3.10. Директивы обработки ошибок
Такая директива всего одна, но она очень полезна. Например, произошла ошибка 404 (файл не найден). Вы можете сопоставить этой ошибке URL, на который будет перенаправлен браузер пользователя. Обычно перенаправление устанавливают на документ, содержащий логотип сайта и сообщение об ошибке.
ErrorDocument — директива, сопоставляющая коды ошибок сервера URL-адресам на этом же сервере.
16.3.11. Директивы управления доступом к отдельным каталогам
Вы можете определить отдельные параметры для каждого каталога вашего сервера — оформление каталога, параметры доступа к этому каталогу.
Блок директив Directory определяет свойства каталога (см. листинг 16.3).
Листинг 16.3. Директива Directory
Свойства каталога можно указывать в директиве Directory или в файле
В блоке Directory могут находиться директивы управления доступом. К ним относятся директивы AllowOverride, Options, Limit. Рассмотрим по порядку все эти директивы. Директива AllowOverride может принимать значения, указанные в таблице 16.1.
Значения директивы AllowOverride Таблица 16.1
Значение | Описание |
---|---|
None | Сервер Apache будет игнорировать файлы .htaccess. Рекомендую установить данную опцию, так как это повысит производительность сервера |
All | Пользователи имеют право переопределять в файлах .htaccess глобальные параметры доступа. Из соображений безопасности лучше не использовать этот режим |
Options | Разрешает использовать директиву Options |
Limit | Разрешает использовать директиву Limit |
AuthConfig | Разрешает использование директив AuthName, AuthType, AuthUserFile и AuthGroupFile |
FileInfo | Разрешает использовать в файлах .htaccess директивы AddType и AddEncoding |