$268.64


$16.02


$16.54


SSI - что, когда, как?

Основным, простейшим, но в то же время чрезвычайно мощным инструментом поддержки больших наборов документов является SSI (Server-Side Includes — включения на стороне сервера). Если кто-то из вас знает Си, то он быстро поймет, что SSI чрезвычайно похож на макроязык. С помощью SSI можно не только в зависимости от некоторых условий выводить определенные части документа, не только формировать документ из заранее определенных кусочков, но и вставлять результат работы некоторого CGI сценария или программы прямо в документ.

Таким образом, какими бы навороченными не были шапка и концевик документа, редактируемый документ выглядит чрезвычайно просто, и его легко редактировать.


Только используя SSI вы можете в считанные минуты полностью изменить внешний вид или обновить систему навигации на узле, имеющем сотни или тысячи документов, и так, что это пройдет безболезненно для пользователей узла, т.к. вам только потребуется заменить несколько файлов, а остальное за вас сделает сервер.

В связи со всем вышесказанным рождается одно правило: желательно смысловую часть документа строить так, чтобы она никак не полагалась на содержимое шапок и концевиков. В этом случае вы легко сможете перейти с табличной организации страниц на последовательную или на слоевую.


Теперь приведем пример файла, вставляемого в начало каждого документа сервера http://www.citforum.ru/. Особенностью сервера является то, что каждый раздел имеет свой базовый цвет, и все это создается этим единственным файлом:

<!--#if expr=«$DOCUMENT_URI=/\/internet\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/database\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/ofis\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/abtec\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/programming\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/operating_systems\//» -->
<!--#elif expr=«$DOCUMENT_URI=/\/abtec\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/ftp\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/news\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/finnews\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/events\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/lists\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/hardware\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/nets\//» -->

<!--#else -->

<!--#endif -->

    
<!--#include virtual=«/cgi-bin/Look_new.cgi»-->

Сервер содержит море(!) аналитической информации    
Рубрикатор всех документов CIT Forum

Данный пример иллюстрирует работу с условными операторами, с шаблонами, а также возможность использования вложенных SSI.

Следующий пример иллюстрирует, как с помощью SSI собираются страницы в Кладовой WebClub.ru. Их особенность заключается в наличии повторяющихся блоков одинаково оформленного текста. Достигается это использованием трех шаблонов:

_head.html

Web Club Repository. <!--#echo var=«TITLE» -->

«>
»>

<h>КЛАДОВАЯ</h>

<!--#echo var=«TITLE» -->

_item.html

<!--#echo var=«I_TITLE» -->  

<!--#if expr=«$I_PIC» -->

« width=»<!--#echo var=«I_PIC_W» -->«
height=»<!--#echo var=«I_PIC_H» -->« border=0>

<!--#endif -->

<!--#if expr=»$I_SITE« -->
Узел поддержки:»><!--#echo var=«I_SITE» -->

<!--#endif -->

<!--#if expr=«$I_PAGE» -->
Домашняя страница:«><!--#echo var=»I_PAGE« -->

<!--#endif -->

<!--#if expr=»$I_ARCHIVE« -->
Она сама:»><!--#echo var=«I_ARCHIVE» -->

<!--#endif -->

<!--#if expr=«$I_LOCALARCHIVE» -->
Она сама у нас: «><!--#echo var=»I_LOCALARCHIVE« -->

<!--#endif -->

<!--#if expr=»$I_PLATFORM« -->
Платформа: <!--#echo var=»I_PLATFORM« -->

<!--#endif -->
<!--#if expr=»$I_STATUS« -->
Статус: <!--#echo var=»I_STATUS« -->

<!--#endif -->

<!--#if expr=»$I_DESCRIPTION« -->
<!--#echo var=»I_DESCRIPTION« -->
<!--#else -->
No description.
<!--#endif -->

_foot.html

<!--#include virtual=»/materials/banfooter.html«-->

А вот как выглядит на самом деле файл, который вы воспринимаете, как обычный HTML документ (он сокращен для удобства восприятия):

<!--#set var=»TITLE« value=»HTML редакторы и утилиты« -->
<!--#set var=»KEYWORDS« value=»HTML,editor,редактор,утилита,utilities,freeware,shareware,free« -->
<!--#set var=»DESCRIPTION« value=»HTML редакторы и утилиты« -->

<!--#include virtual=»_head.html« -->

<!--#set var=»I_TITLE« value=»Prime Style 1.2« -->
<!--#set var=»I_RATING« value=»1« -->
<!--#set var=»I_PIC« value=»ps.gif« -->
<!--#set var=»I_PIC_W« value=»300« -->
<!--#set var=»I_PIC_H« value=»225« -->
<!--#set var=»I_SITE« value=»« -->
<!--#set var=»I_PAGE« value=»http://www.northnet.com.au/~hardy/prime/« -->
<!--#set var=»I_ARCHIVE« value=»« -->
<!--#set var=»I_LOCALARCHIVE« value=»« -->
<!--#set var=»I_PLATFORM« value=»Windows 95/NT« -->
<!--#set var=»I_STATUS« value=»Free« -->
<!--#set var=»I_DESCRIPTION« value=»Простой и наглядный редактор каскадных
стилей. Простой и понятный интерфейс.« -->

<!--#include virtual=»_item.html« -->

<!--#set var=»I_TITLE« value=»Web-O-Rama v.4.00« -->
<!--#set var=»I_RATING« value=»« -->
<!--#set var=»I_PIC« value=»weborama.gif« -->
<!--#set var=»I_PIC_W« value=»300« -->
<!--#set var=»I_PIC_H« value=»225« -->
<!--#set var=»I_SITE« value=»« -->
<!--#set var=»I_PAGE« value=»« -->
<!--#set var=»I_ARCHIVE« value=»« -->
<!--#set var=»I_LOCALARCHIVE« value=»« -->
<!--#set var=»I_PLATFORM« value=»Windows 95/NT« -->
<!--#set var=»I_STATUS« value=»Free« -->
<!--#set var=»I_DESCRIPTION« value=»Весьма удобный интерфейс, возможность
внешнего просмотра файлов через браузер, открывает сразу много файлов.

Есть встроенный индикатор контроля системных ресурсов.« -->

<!--#include virtual=»_item.html« -->

<!--#set var=»I_TITLE« value=»HTML Font Colorizer« -->
<!--#set var=»I_RATING« value=»3« -->
<!--#set var=»I_PIC« value=»« -->
<!--#set var=»I_PIC_W« value=»100« -->
<!--#set var=»I_PIC_H« value=»100« -->
<!--#set var=»I_SITE« value=»« -->
<!--#set var=»I_PAGE« value=»http://home1.inet.tele.dk/theill/hfc.htm« -->
<!--#set var=»I_ARCHIVE« value=»« -->
<!--#set var=»I_LOCALARCHIVE« value=»« -->
<!--#set var=»I_PLATFORM« value=»Windows 95/NT« -->
<!--#set var=»I_STATUS« value=»Freeware« -->
<!--#set var=»I_DESCRIPTION« value=»Эта великолепная утилита, котороя
позволит вам создать цветовое перетекание в тексте любым цветом. Достаточно
нажать несколько кнопок.« -->

<!--#include virtual=»_item.html« -->

<!--#include virtual=»_foot.html" -->

Данный пример замечательно иллюстрирует передачу параметров вставляемым файлам, возможность использования вложенного SSI, а также работу с условными операторами. В случае, если потребуется изменить внешний вид этих страниц, достаточно поменять всего три файла. Тут же весь раздел приобретет новый вид. Или можно, отредактировав один единственный файл отключить показ всех картинок в разделе.

 

Интересное

Наиболее распространенне...
Количество случаев похищения идентификационных данных все растет. Нашла ли ваша организация решение этой проблемы или она остается для вас по-прежнему актуальной? Личные идентификационные данные...
Подробнее...
Примеры подключения...
Данный материал содержит примеры создания строк ado connection для различных типов часто используемых Баз Данных, например: odbc dsn, odbc dsn-less, ole db provider, ms remote, oracle, excel,...
Подробнее...
Очистка списка последних...
При частом применении команды «Подключить сетевой диск» (Map Network Drive) в Windows XP, в списке последних операций (Most Recently Used, MRU) появляется множество различных сетевых путей. В этом...
Подробнее...
Система адресации в Интернете
Каждый человек, живущий на Земле, имеет адрес, по которому его в случае необходимости можно разыскать. Думаю, ни у кого не вызовет удивления то, что каждая работающая в Интернете машина также...
Подробнее...
Adobe Photoshop и Corel Draw
Уважаемые читатели, что возникает в ваших головах при словосочетании «компьютерная графика»? Конечно, у рядового пользователя сразу возникает в голове какой-нибудь Терминатор или иное детище...
Подробнее...
10 советов по защите Wi-Fi...
Тема безопасности Wi-Fi соединения в наши дни очень популярна. На ряде форумов, ведутся энергичные дискуссии на предмет «лучшего решения». Один из наиболее часто обсуждаемых аспектов — большое...
Подробнее...
База данных методами...
В статье рассматривается работа с бинарными файлами из Delphi, а так же использование Object Pascal для управления записью, чтением и изменением собственных типов файлов.Постановка задачи:...
Подробнее...
Безопасность. Какой вопрос...
Думаю, у каждого при чтении специализированной литературы возникали вопросы по поводу тех или иных терминов. Но, как правило, поблизости обычно нет того, кто может объяснить их значение. Проблемы...
Подробнее...
Linux Format
Linux Format Номер 1 Январь 2007 Автор: Linux Format Формат: PDF
Подробнее...
Как сгенерировать файл...
Рано или поздно любой веб-мастер сталкивается с необходимостью защиты своего сайта, более тонкой настройки доступа к различным его параметрам. Один из вариантов — использовать специальный...
Подробнее...