![]() |
||
|
aranea.ru || Что такое SSI (Server Side Includes)? | Резюме по Server Side Includes (SSI)
Резюме по Server Side Includes (SSI)Если вы прочитали перевод "6.4 Учебное пособие Apache: введение в технологию Server Side Includes", то практически уже готовы использовать технологию Server Side Includes (SSI). Данный раздел систематизирует и добавляет информацию по SSI. Считаем, что вы прочитали указанный выше перевод. Как активизировать технологию SSI на сервере Apache смотрите в переводе "6.4 Учебное пособие Apache: введение в технологию Server Side Includes". Директивы SSIФормат директивы SSI, вставляемой в HTML-документ, следующий: <!--#element attribute="value" --> Символ # - обязательный, он сообщает обработчику о наличии исполняемого кода. Пробел после attribute="value" – обязательный, он сообщает об окончании кода. Значение атрибута следует заключать в кавычки. config Эта директива управляет различными сторонами синтаксического анализа файла и имеет следующие атрибуты: errmsgОпределяет текст сообщения об ошибке выполнения директив SSI. Текст по умолчанию указан в переводе "6.4. Учебное пособие Apache:…" <!--#config errmsg="Ошибка выполнения директивы" --> sizefmt Определяет формат (для директивы fsize) вывода размера файла ("abbrev" – сокращенный вывод в Мб или Кб; "bytes" – полный подсчет байтов). <!--#config sizefmt="abbrev" --> <!--#fsize file="file.ssi" --> <!--#config sizefmt="bytes" --> <!--#fsize file="file.ssi" --> timefmt Определяет формат вывода даты (для директивы flashmode). Таблицу форматов смотрите ниже. <!--#config timefmt="%d.%m.%Y" --> <!--#flastmod file="file.ssi" --> echo Эта директива выводит на экран значение переменной, указанной в атрибуте var. Переменная может быть переменной окружения (смотрите ниже таблицу названий переменных окружения) или заранее установленная в документе директивой set. exec Эта директива выполняет программу, сценарий или запускает оболочку на сервере и имеет следующие атрибуты: cmdЗапускает внешнюю программу. <!--#exec cmd="dir" --> cgi Запускает CGI-программы и вставляет результат в выводимую страницу. <!--#exec cgi="/cgi/bin/pr.pl" --> flastmod Эта директива выводит дату последнего изменения файла. Формат даты определяется директивой config. Атрибут file: fileОпределяет путь к файлу. <!--#flastmod file="/file.ssi" --> include Эта директива позволяет вставлять один документ в другой. Возможно, наиболее часто употребляемая директива. Два атрибута: file и virtual. fileОпределяет имя вставляемого файла, расположенного в текущей папке. <!--#include file="file.ssi" --> virtual Определяет имя и относительный путь файла, вставляемого не из текущей папки. <!--#include virtual="/d/file.ssi" --> Расширение вставляемых файлов может быть различным, например, .ssi, .asp и т.д. Расширения такого типа не позволят обозревателям открывать вставляемые файлы. Будьте внимательны к употреблению во вставляемых файлов следующих тегов: <html>, </html>, <head>, </head>, <body>, </body>. printenv Эта директива выводит названия и значения всех переменных окружения. Смотрите ниже таблицу названий переменных окружения. <!--#printenv --> set Эта директива устанавливает значение определяемой в документе переменной. Два атрибута: var – для определения имени переменной и value – для присваивания значения данной переменной. <!--#set var="cost" value="\$100" --> Расширенные директивыifЭта директива определяет условное выражение, с помощью которого можно динамически менять содержание страницы. Один атрибут expr. exprОпределяет условие.
<!--#if expr="${Some_Condition}" -->
<!--#include virtual="/navigation.ssi" -->
<!--#endif -->
elifЭта директива служит для продолжения условного выражения. Один атрибут expr.
<!--#if expr="${Some_Condition}" -->
<!--#include virtual="/navigation1.ssi" -->
<!--#elif expr="${Other_Condition}" -->
<!--#include virtual="/navigation2.ssi" -->
<!--#endif -->
elseЭта директива перехватывает действие, если не выполняются условия директив if и elif.
<!--#if expr="${Some_Condition}" -->
<!--#include virtual="/navigation1.ssi" -->
<!--#else -->
<!--#include virtual="/navigation2.ssi" -->
<!--#endif -->
endif
Эта директива завершает условное выражение. ЗаключениеНекоторые серверы, например Webquest, поддерживают ряд дополнительных директив goto, label, mail, break и др., которые здесь не рассматриваются. Если изложенная здесь информация о технологии SSI показалась вам не достаточной, поищите разнообразные и подробные источники в Интернете. |