Глаза страшат, а руки делают

АТРИБУТЫ


Атрибуты по алфавиту. Одни и те же атрибуты могут использоваться с разными директивами. Поиск по директивам — на странице «Директивы».

cgi

Используется с директивой #exec

Вызывает скрипт CGI. Вызываемый скрипт должен находится в директории cgi-bin или иметь расширение .cgi.

Формат:

<!--#exec cgi = "имя_скрипта" -->

имя_скрипта — полное имя скрипта CGI.

Вывод скрипта подставляется в документ.

cmd

Используется с директивой #exec

Задаёт параметры для выполнения программ, выполняемых UNIX shell.

ОПИСЫВАЮ ЧИСТО ТЕОРЕТИЧЕСКИ. НА ПРАКТИКЕ ПОКА ЧТО [...СЛЕТЕЛА ШЛЯПА]

Формат:

<!--#exec cmd = "имя_программы список_аргументов" -->

имя_программы — полное имя исполняемой программы или команды;

список_аргументов — список аргументов, посылаемых исполняемой программе.

ПРИМЕЧАНИЕ

На сервере должны быть заданы пути к исполняемой программе в переменной окружения PATH.

При отсутвии пути программу можно запустить, используя shell или скрипт CGI.

Стандартный вывод программы направляется в документ HTML. Вывод может быть модифицирован директивой #config cmdecho.

ПРИМЕЧАНИЕ

Под Win32 и под UNIX с использованием suExec в директиве #exec cmd нельзя передавать аргументы команды или иным образом включать пробелы в значении cmd. Следующий пример будет работать только под UNIX конфигурации non-suExec, но не сработает ни под Win32, ни при выполнении suExec:

<!--#exec cmd="perl /cgi-bin/counter/counter.pl page4" -->

Вместо этого следует применить другую директиву:

<!--#include virtual="/cgi-bin/counter/counter.pl?page4" -->

В любом случае: если можно обойтись директивой #include, то лучше применять её вместо #exec.

cmdecho

Используется с директивой #config

Определяет выходные параметры команды, выполненной директивой #exec cmd.

ОПИСЫВАЮ ЧИСТО ТЕОРЕТИЧЕСКИ. НА ПРАКТИКЕ ПОКА ЧТО [...СЛЕТЕЛА ШЛЯПА]

Формат:

<!--#config cmdecho = "onoroff" -->

onoroff — ON или OFF. Если команда директивы #exec cmd возвращает данные, которые можно вывести через #echo, они выводятся при значении ON и игнорируются при значении OFF.

По умолчанию — OFF.

Формат выводимых данных зависит от наличия или отсутствия директив #config cmdprefix и #config cmdpostfix.

При отсутствии этих директив данные выводятся без форматирования и интерпретации специальных символов. При их наличии вывод будет отформатирован и интерпретирован в соответствии с их значениями.

cmdpostfix

Используется с директивой #config

Устанавливаеи текст, завершающий каждую строку, выводимую каждой следующей инструкцией #exec cmd.

ОПИСЫВАЮ ЧИСТО ТЕОРЕТИЧЕСКИ. НА ПРАКТИКЕ ПОКА ЧТО [...СЛЕТЕЛА ШЛЯПА]

Формат:

<!--#config cmdpostfix = "строка" -->

строка — любой символ и/или тэг HTML.

cmdprefix

Используется с директивой #config

Устанавливаеи текст, начинающий каждую строку, выводимую каждой следующей инструкцией #exec cmd.

ОПИСЫВАЮ ЧИСТО ТЕОРЕТИЧЕСКИ. НА ПРАКТИКЕ ПОКА ЧТО [...СЛЕТЕЛА ШЛЯПА]

Формат:

<!--#config cmdprefix = "строка" -->

строка — любой символ и/или тэг HTML.

encoding

Используется с директивой #echo

Необязательный атрибут, определяет интерпретацию текста браузером. Имеет 3 значения: entity (по умолчанию), url и none.

  • entity — по умолчанию. В этом случае происходит замена символов языка HTML на спецсимволы для вывода их на страницу;
  • url — произодится так называемое escape-преобразование, т.е. все символы приобретут вид %nn (nn — код символа в 16-ричной кодировке), что позволит их применять в строке URL;
  • none — не будет никаких преобразований, т.е. тэги HTML, которые раньше заменялись на спецсимволы, теперь заменяться не будут, и в переменные SSI можно вставлять код HTML. А вот спецсимволы будут заменяться на тэги.

ПРИМЕЧАНИЕ

Атрибут encoding всегда ставится перед атрибутом var.

ПРИМЕР

<!--#set var = "string1" value = "Тестируем <b>тэги</b> <i>HTML</i>" -->
<p>По умолчанию:<br><!--#echo var = "string1" --></p>
<p>Значение none:<br><!--#echo encoding = "none" var = "string1" --></p>
<p>Значение url:<br><!--#echo encoding = "url" var = "string1" --></p>

Результат

По умолчанию:
Тестируем <b>тэги</b> <i>HTML</i>

Значение none:
Тестируем тэги HTML

Значение url:
%d2%e5%f1%f2%e8%f0%f3%e5%ec%20%3cb%3e%f2%fd%e3%e8%3c/b%3e%20%3ci%3eHTML%3c/i%3e

errmsg

Используется с директивой #config

Устанавливает любой текст сообщения об ошибке вместо стандартного [an error occurred while processing this directive].

Формат:

<!--#config errmsg = "[Подъезжая к своей станцыи, у меня слетела шляпа]" -->

ПРИМЕЧАНИЕ

Инструкция #config errmsg должна быть помещена на основной странице документа. Находясь во вложенной странице, она не срабатывает. Так что задать её один раз на весь сайт не получится.

file

Используется с директивами #flastmod, #fsize, #include

Указывает путь к файлу относительно текущего документа. Можно использовать как текстовые файлы, так и HTML-документы, а также включать другие SSI-файлы (обычно с расширением shtml) — но только те, которые находятся в той же папке, что и данная страница.

ПРИМЕЧАНИЕ

Для использования различных расширений файлов в директиве #include необходимо предварительно настроить файл .htaccess (см. Шаг 0).

Формат:

<!--#flastmod file = "ssi2_2.html" -->
<!--#fsize file = "lsn_js12.html" -->
<!--#include file = "top.txt" -->

См. также virtual

sizefmt

Используется с директивой #config

Определяет формат вывода размера файла.

Имеет 2 значения: "bytes" (в байтах) и "abbrev" (в килобайтах, а если больше мегабайта, то в мегабайтах)

Формат:

<!--#config sizefmt = "bytes" -->
<!--#config sizefmt = "abbrev" -->

Значения выводятся на экран директивой #fsize.

ПРИМЕЧАНИЕ

Русскому человеку может показаться, что bytes тоже задаёт размер в килобайтах, только с меньшим округлением. Вспомним, что «у них там» десятичным разделителем служит точка, а запятая (которая выводится при использовании bytes) поразрядно разделяет тысячи.

timefmt

Используется с директивой #config

Определяет формат вывода даты и времени. Для этого существует ряд шаблонов (см. таблицу).

Можно комбинировать шаблоны друг с другом и с любыми прочими символами.

Формат:

<!--#config timefmt = "шаблон_или_группа_шаблонов_с_пробелами_и_знаками_препинания" -->

value

Используется с директивой #set в качестве второго атрибута

Определяет значение переменной, заданной в атрибуте var.

Формат:

<!--#set var = "QUERY_STRING" value = "page5" -->

var

Используется с директивами #echo и #set

Определяет имя переменной:

В директиве #echo — это имя переменной, значение которой надо вывести.

В директиве #set — это имя переменной, на которую будет назначено значение.

Формат:

<!--#echo var = "DATE_LOCAL" -->
<!--#set var = "QUERY_STRING" value = "page5" -->

virtual

Используется с директивами #flastmod, #fsize, #include

virtual — задает виртуальный путь к документу на сервере. Начинается со слэша.

/file.html — находится в корневой папке.

/subdir/file.html — находится в папке subdir, вложенной в корневую.

ПРИМЕЧАНИЕ

Для использования различных расширений файлов в директиве #include необходимо предварительно настроить файл .htaccess (см. Шаг 0).

Формат:

<!--#flastmod virtual = "/index.html" -->
<!--#fsize virtual = "/samodel/lsn_js12.html" -->
<!--#include virtual = "/lyceum/muslit/top.txt" -->

См. также file


 002809