Server Side Includes (SSI)Что такое SSI.
SSI-набор команд web-сервера, позволяющий создавать HTML-документы прямо на сервере без применения CGI-скриптов. Настройка Apache.Для того, чтобы сервер Apache проверял файлы на наличие SSI-команд, следует указать в его настройках расширение файлов, содержащих SSI-команды. Это делается в файле httpd.conf, раскомментированием следующих строк:
Теперь разрешим серверу выполнение SSI команд в каталоге вашей страницы.Это делается в блоке операторов, начинающемся строкой: Команды SSI.Команды SSI встраиваются в HTML-документ в виде комментариев, например:
Включает в HTML-документ содержимое указанного файла, находящегося в том же каталоге. В документ можно вставлять файлы, содержащие команды SSI. пример: <!--#include file="menu.htm"--> В место, где расположена команда, будет встроено содержимое файла menu.htm находящегося в том же каталоге. Включает в HTML-документ содержимое указанного файла, с указанием пути относительно текущего каталога. пример: <!--#include virtual="/price/price.txt"--> В место, где расположена команда, будет встроено содержимое файла price.txt находящегося в каталоге /price. <!--#include virtual="/cgi-bin/p.pl"--> В место, где расположена команда, будет встроен вывод скрипта p.pl Включает в HTML-документ размер указанного файла. пример: Размер этого документа: <!--#fsize file="ssi.shtml"--> выведет: Размер этого документа: 10k Включает в HTML-документ время последней модификации указанного файла. пример: Последний раз изменен: <!--#flastmod file="ssi.shtml"--> выведет: Последний раз изменен: Wednesday, 14-Feb-2001 14:38:42 Московское время (зима) Запускает внешнюю программу. пример: Список файлов текущей директории: <!--#exec cmd="dir"--> Запуск CGI-скрипта и вставка в содержимое страницы его вывода. пример: <!--#exec cgi="/cgi-bin/p.pl"--> Изменение стандартного собщения об ошибке. пример: <!--#config errmsg="Ошибка при выполнении SSI-команды"--> Изменение формата вывода размера файла. пример: Вывод размера файла в килобайтах: <!--#config sizefmt="abbrev"--> <!--#fsize file="ssi.shtml"--> Вывод размера файла в байтах: <!--#config sizefmt="bytes"--> <!--#fsize file="ssi.shtml"--> Изменение формата вывода даты и времени. пример: Последнее изменение документа: <!--#config timefmt="%d.%m.%Y %H:%M:%S"--> <!--#flastmod file="ssi.shtml"--> выведет: 14.02.2001 14:38:42
Вывод всех CGI и SSI переменных окружения. Работа с CGI переменными разрешена только если сервер разрешает запуск CGI-скриптов. пример: <!--#printenv--> Устанавливает значение переменной окружения. пример: Сменим адрес администратора сервера: <!--#set var="SERVER_ADMIN" value="valery@ropnet.ru"--> Вывод значения переменной окружения. пример: <!--#echo var="SERVER_NAME"--> Условное управление выводом. Синтаксис команды: <!--#if expr="условие1" --> команда, которая будет выполняться если условие истинно <--#elif expr="условие2" --> команда, которая будет выполняться, если условие1 ложно, а условие2 истинно <--#else --> команда, которая будет выполняться, если все условия ложны <--#endif --> где условие имеет формат: (строка1 оператор сравнения строк строка2) Условие может состоять и из одной строки. В этом случае оно является истинным, если строка не пустая. Если строка2 заключена в "/", то условие истинно, если в строке1 встретится хоть одно вхождение строки2. Для группирования условий используются скобки. Операторы сравнения: == равно != не равно < меньше > больше !< не меньше !> не больше пример: Вы используете браузер: <!--#if expr="$HTTP_USER_AGENT=/Nav/" --> Netscape Navigator <!--#elif expr="$HTTP_USER_AGENT=/MSIE/ || $HTTP_USER_AGENT=/Mozilla/" --> Internet Explorer <!--#else --> Не определен (<!--#echo var="HTTP_USER_AGENT" -->) <!--#endif --> выведет тип вашего браузера Остановка вывода. Отправляет письмо, содержание которого задано атрибутом message, по адресу, определенному атрибутом toaddress, если данный адрес и host, заданный атрибутом tohost (данный атрибут может отсутствовать), реально существует. пример: <!--#email tohost="www.greentown.narod.ru" message="Thanks" toaddress="valery@ropnet.ru" subject="SSI"--> Переменные окружения.Переменные CGI
Имя и версия CGI web-сервера Разделенный запятыми список MIME-типов, понимаемых браузером клиента Список языков, доступных браузеру клиента Имя браузера клиента IP адрес удаленного клиента Имя программы для выполнения в CGI запросе Почтовый адрес администратора web-сервера Имя компьютера, на котором работает web-сервер IP порт WWW (HTTP) сервера Имя и версия HTTP сервера (name/version) Название программы web-сервера Строка, полученная от клиента Тип метода запроса к серверу
Текущее время по Гринвичу (GMT, Greenwich Mean Time) Местное время и дата Имя документа, запрошенного клиентом Путь к документу от базовой директории сервера Дата последнего изменения документа |