
- •Принципы работы арасне
- •Директивы сервера
- •Блочные директивы
- •Запуск нескольких экземпляров Apache
- •Виртуальные хосты
- •Управление виртуальными хостами
- •Перезапуск Apache
- •Использование файлов .Htaccess
- •Общий шлюзовый интерфейс (cgi)
- •Установка переменных среды
- •Браузеры
- •Обработчики
- •Аутентификация
- •Команды allow и deny
- •Выбор языка
- •Поддержка русскоязычных кодировок,
- •Переадресация
- •Сенсорные изображения
- •Кэширование
- •Var Значение этого атрибута — имя переменной.
Браузеры
Одна из самых серьезных реальных проблем в Web состоит в том, что люди имеют свободу выбора браузеров и не все браузеры работают одинаково или хотя бы приблизительно одинаково. Возможности браузеров очень различны. Одни воспроизводят изображения, а другие - нет. Некоторые браузеры не воспроизводят кадры, таблицы, Java-объекты и т.д.
Эту проблему можно попытаться обойти, предложив пользователю вызвать соответствующий фрагмент сценария, но в реальной жизни люди часто не знают, на что способен из браузер, а на что - нет. Пользователи не всегда даже понимают эти вопросы.
Эта проблема решается следующим образом. Apache может определить тип браузера и установить переменные среды таким образом, чтобы CGI-сценарии могли действовать в соответствии с его типом.
BrowserMatch и BrowserMatchNoCase
BrowserMatch браузерРВ среда1[=значение1] среда2[=значение2]
... IbrowserMatch директива
BrowserMatchNoCase браузерРВ среда1[=значение1] среда2[=значение2]
... IbrowserMatchNoCase директива
браузерРВ - это регулярное выражение, которое сравнивается с заголовком User-Agent клиента, а среда!, среда2, ... - переменные среды, которые будут установлены в случае совпадения регулярного выражения. Переменные среды получают значения значение!, значение2, ..., если последние указаны. Например, BrowserMatch ^Mozilla/[23] tables=3 Java
Символ ^ означает «начать с начала заголовка и сравнивать со строкой Mozilla/, за которой следует цифра 2 или 3. В случае совпадения Apache создает и - при необходимости - указывает значения заданного списка переменных среды, которые определяются автором сценария. В данном случае это:
tables=3 Java
В конкретном CGI-сценарии может быть осуществлена проверка наличия этих переменных среды и выполнены соответствующие действия. Директива BrowserMatchNoCase - это просто безрегистровая версия BrowserMatch, т.е. ей все равно, какие указаны буквы - строчные или прописные. Mozilla для этой директивы эквивалентно Mozilla.
Заголовки HTTP-ответов
Web-мастер может, пользуясь Apache задавать и удалять заголовки HTTP-ответов для особых целей.
Header [set\add\unset\append] HTTP-заголовок «значение»
Header remove HTTP-заголовок
Директива Header задает или удаляет HTTP-заголовок и имеет два или три аргумента: превый из них может иметь значение set, add, unset, append или remove; второй аргумент - имя заголовка (без двоеточия); третий - значение заголовка, если оно применимо. Эту директиву можно использовать в секциях <Directory>, <File> и <location>.
Опции CGI-скриптов
Options <опция опция ... (по умолчанию а11)>
Директива Options чрезвычайно универсальна. Цель данной директивы -предоставить Web-мастеру некоторую степень контроля над теми штучками, которые его клиенты могут выкинуть в своих файлах .htaccess. Все остальное находится в файле конфигурации под его контролем. Поэтому, например, если Web-мастер не хочет, чтобы CGI-сценарии выполнялись в его системе, он просто задаст директиву:
Options -ExecCGI
и CGI-сценарии выполняться не будут. Аргументы option могут быть следующими:
Аll
Все опции, кроме Multiviews, hicludesNoExec, SyrnLinksIfOwnerMatch.
ExecCGI
Разрешается вьшолнение CGI-сценариев.
FollowSyrnLinks
Сервер прослеживает символические ссылки (т.е. ссылки на файл, созданный командой ln -s); Директивы включения на стороне сервера допускаются.
IncludesNoExec
Директивы включения на стороне сервера допускаются, но #ехес и #include
для CGI-сценариев запрещаются.
Indexes
Если клиент запрашивает URL, который соответствует каталогу, а файла index.html там нет, эта опция позволяет выполнить индексацию, и клиенту возвращается отформатированный перечень.
Multiviews
Поддерживается вариант Multiviews с согласованием содержимого. Сюда включается опция AddLanguage и согласование изображений.
SyrnLinksIfOwnerMatch
Символические ссылки прослеживаются и ведут к файлам или каталогам, принадлежащим пользователю с тем же идентификатором, что и владельца ссылки.
В Apache реализована возможность динамически модифицировать текущий набор опций. Для этого используются знаки + и -. Например, следующая команда удаляет опцию Indexes и добавляет ExecCGI:
Options -Indexes +ExecCGI
По умолчанию установлена опция АН. Однако, если установить какую-либо другую опцию, действие опции Аllотменяется.
Опции FollowSyrnLinks и SyrnLinksIfOwnerMatch используются для того, чтобы запретить доступ к файлам через символические ссылки (ссылки, сделанные командой ls -s).