
- •Принципы работы арасне
- •Директивы сервера
- •Блочные директивы
- •Запуск нескольких экземпляров Apache
- •Виртуальные хосты
- •Управление виртуальными хостами
- •Перезапуск Apache
- •Использование файлов .Htaccess
- •Общий шлюзовый интерфейс (cgi)
- •Установка переменных среды
- •Браузеры
- •Обработчики
- •Аутентификация
- •Команды allow и deny
- •Выбор языка
- •Поддержка русскоязычных кодировок,
- •Переадресация
- •Сенсорные изображения
- •Кэширование
- •Var Значение этого атрибута — имя переменной.
Var Значение этого атрибута — имя переменной.
exec
Команда ехес выполняет заданную команду командного процессора или CGI-сценарий. Опция includesNOEXEC полностью отключает эту команду.
Допустимый атрибут:
Cgi
Это значение задает относительный URL CGI-сценария. Если URL начинается не с символа /, то он берется относительно текущего документа. Документ, получаемый по этому URL, вызывается как CGI-сценарий, даже если сервер в обычных условиях не распознал бы его как таковой. При этом, однако, каталог, содержащий данный сценарий, должен быть (с помощью директивы ScriptAlias или опции ExecCGI) указан в качестве каталога, в котором хранятся CGI-сценарии. CGI-сценарий получает значения переменных path_info и query_string (строка исходного запроса клиента); в URL их указывать нельзя. Помимо стандартной CGI-среды сценарию будут предоставлены переменные, заданные с помощью команды include. Если сценарий вместо выходных данных возвращает заголовок Location, он преобразуется в HTML-якорь. Если в Config-файле задана директива Options NoExec, ее действие отменяется. Элемент include virtual предпочтительнее для использования, чем exec cgi.
cmd
Сервер выполняет указанную строку, используя /bin/sh. Команде предоставляются переменные include. Если в Config-файле задана директива Options NoExec, ее действие отменяется.
fsize
Эта команда выдает объем указанного файла в формате, заданном спецификацией sizefint. Возможные атрибуты:
file
Значение этого атрибута — имя относительно каталога, содержащего текущий анализируемый документ.
virtual
Это значение задает URL относительно текущего анализируемого документа. Если URL начинается не с символа /, то он берется относительно текущего документа.
flastmod
Эта команда выдает дату последнего изменения указанного файла в формате, заданном спецификацией timefint. Атрибуты такие же, как у команды fsize.
include
Эта команда помещает в анализируемый файл текст другого документа или файла. К помещаемому файлу применаряется обычный контроль доступа. Если для каталога, содержащего анализируемый файл, установлена директива Option includesNOEXEC и включение некоторого документа инициировало бы выполнение программы, то данный документ включен не будет; таким образом предотвращается выполнение CGI-сценариев. В противном случае CGI-сценарии вызываются, как обычно, с помощью указанного в команде полного URL, включая строку запроса (если она есть). Атрибут этой команды определяет местонахождение документа; включение выполняется для каждого атрибута, указанного в этой команде. Допустимые атрибуты:
file
Значение этого атрибута — имя относительно каталога, содержащего текущий анализируемый документ. Оно не может содержать . . / и не может быть абсолютным. Там, где можно, вместо этого атрибута следует всегда использовать атрибут virtual.
virtual
Это значение задает URL. URL не может содержать протокол или имя хоста; только путь и необязательную строку запроса. Если URL начинается не с символа /, он берется относительно текущего документа. На основе значения этого атрибута создается URL, и сервер возвращает тот же результат, который был бы получен, если бы клиент запросил этот URL. Таким образом, включаемые файлы можно вкладывать. Пользуясь этим способом, CGI-программы можно запускать и в том случае, когда в Config-файле задана директива Options NoExec. Поскольку существуют и другие способы при помощи которых клиент может запустить CGI-программу (например, используя его URL как ссылку или просто вводя его в своем броузере), к нарушениям зашиты применение этого метода не приводит (в отличие от cmd и ехес).
Включение файлов
С помощью команды include можно включить содержимое одного файла в другой:
<!—#config errmsg="Bungled again !"-->
This is some text in which we want to include text from another file:
« < !-#includevirtual^"another_file"--> »
That was it.
Это дает следующий результат:
This is some text in which we want to include text from another file:
«This the stuff in another_file.»
That was it.
Эхо
С помощью команды echo можно отобразить содержимое следующих переменных среды: DATE_GMT, DATE_LOCAL, DOCUMENT_NAME, DO-CUMENT_URI и LAST_MODIFIED. Содержимое файла echo.shtml такое:
Echoing the Document_URL <!--#echo var="DOCUMENT URI"-->
Echoing the DATE_GMT <!--#echo var="DATE GMT"-->
и результат получается следующий:
Echoing the Document-URI/echo.shtml
Echoing the DATE_GMT Saturday, 17-Aug-96 07:50:31