$52.30


$245.58


$21.50


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, а также работу с условными операторами. В случае, если потребуется изменить внешний вид этих страниц, достаточно поменять всего три файла. Тут же весь раздел приобретет новый вид. Или можно, отредактировав один единственный файл отключить показ всех картинок в разделе.

 

Интересное

GSM – шлюз: Как через...
У меня возникла необходимость по нескольку раз в день принимать и отправлять фак- сы на даче, где нет городского телефона. Слышал, что для таких целей можно каким-то образом приспособить мобильный...
Подробнее...
Работаем с рабочим столом
Привет! Сегодня мы будем работать с тем, что постоянно видим на экране своего монитора, а именно со своим рабочим столом. Не буду сильно болтать о том о сем а сразу же начну с полезных примеров....
Подробнее...
Какие типы данных...
Я не буду описывать подробно все изобилие типов mysql. Я уверен, что это лишнее.Дело в том, что в mysql-е числовые и текстовые группы типов очень многочисленны.Отличаются типы в этих группах...
Подробнее...
chmod - изменение режима...
Все чаще обнаруживается, что некоторые начинающие сайтостроители, увлеченные скриптованием (на perl/cgi, php и т.д.) не знают, что такое chmod и как его использовать. В этом кратком руководстве вы...
Подробнее...
Externet VPN: технология...
Современный телекоммуникационный рынок предлагает пользователю множество решений, призванных сделать различные типы связи более доступными, удобными и надежными. Сегодня одной из самых интересных...
Подробнее...
Проблеммы с буквой 'я' на ftp
При загрузке на сервер из винды пропадает буква я и следующий за ней символПопытаться побороть можно такЗаходим в папку с исходниками proftpd... далее vi src/netio.c далее находим удаляем или...
Подробнее...
Экономичная печать
Мы хотим получить красивый отпечаток, но при этом сэкономить как можно больше чернил и бумаги. Как это сделать? Оказывается, есть способ…Сколько бы вы ни заплатили за принтер — 50 или 500...
Подробнее...
Защита зрения от компьютера
Технический прогресс принес не только пользу человечеству, но еще и ощутимый вред здоровью людей, которые пользуются дарами цивилизации. О чем это я? Ну, конечно же, речь здесь идет о компьютерах...
Подробнее...
Создание web-проекта:...
После того, как определен состав работ, задачей руководителя проекта является определение конкретных функций и их наполнение людьми. Лица, назначаемые на выполнение задач, могут быть как штатными...
Подробнее...
Serv-U: Установка FTP-сервера
Хочу установить на своей машине в локальной сети FTP-сервер, но не выбрал программу. Какую именно вы посоветуете и каким образом ее нужно настроить?Выбор программы Спрос рождает предложение,...
Подробнее...