Я хочу рассказать вам об основах технологии server side includes или ssi. ssi переводится как "включения со стороны сервера". Эта технология помогает сохранить уйму времени при создании сайта и закачке его на сервер. Вообще ssi призвана, насколько это возможно, облегчить работу web-мастера.
Вот, к примеру, вполне реальная ситуация: У вас есть сайт, который, разумеется, не использует ssi, с числом страниц близким к:, да возьмем хотя бы 50 страниц. Итак, на каждой странице вы, как хороший web-мастер, заботящийся о своих посетителях, разместил текстовое меню. И вдруг по каким-то причинам название какого-то раздела изменилось, а быть может, вам захотелось добавить новый. Что же теперь заново открывать все пятьдесят страниц и переписывать все снова и снова?! В нашем случае это, к сожалению, единственное решение, правда, некоторые хорошие редакторы смогут облегчить эту непосильную ношу (и еще как облегчить!, homesite, например).
Так вот, такой проблемы у вас не произошло бы, еcлu вы использовали технологию ssi. Объясняю: если бы вместо текстового меню на всех страницах было бы написано что-то вроде
<!--#include virtual=/ssi/menu_txt.html -->
А в файле "(www)/ssi/menu_txt.html" было бы содержание этого меню, то для того, что бы добавить или изменить раздел нужно было бы только поменять содержание всего лишь одного файла menu_txt.html. Как вы, наверно, уже догадались во все страницы вместо "комментария"
<!--#include virtual =/ssi/menu_txt.html -->
будет вставлен код из menu_txt.html.
Синтаксис ssi директив.
Синтаксис ssi директив таков: Все директивы заключаются в комментарии
<!-- :[пробел]-->
, главным отличием ssi директивы от комментария является символ "#" сразу(!) после "<!--". То есть если быть точным, то все директивы ssi заключаются в
<!--#:[пробел]-->
и никак иначе!
Вот список некоторых ssi "функций" (они сразу пишутся после символа "#")
include
Включает текст (код, содержание) указываемого документа/файла в данный документ. Положение файлов на сервере указывается с помощью следующих атрибутов:
file - необходимо указать путь относительно данного документа, то есть включаемый документ/файл должен находиться либо в том же каталоге, что и данный документ, либо каталогами ниже/выше (some_catalog/, ../some_catalog). virtual - можно указывать как относительный (как в случае с file), так и абсолютный путь (может содержать /some_catolog или ../some_catalog).
include позволяет включать результат работы cgi скриптов, а также обращаться к ним с какой-то заданной строкой запроса. Например,
Переменная a будет равна varia${c} Для того, что бы подставить переменную необходимо её заключить в фигурные скобки и перед всем этим поставить $. Если же вы хотите что бы знак доллара ($) отображался просто как символ, и не обозначал переменную, то поставьте перед ним слеш ()
echo
выводит значение переменной, указанной в атрибуте var.
<!--#echo var=a -->
то есть вместо этого кода вставляется значение переменной a
Примеры использования ssi.
Вот содержание главного документа. main.html
<!--#set var=title value=Тестовая страница --> <!--#set var=keywords value=ключевые слова --> <!--#set var=description value=Описание этого документа --> <!--#include virtual=head.html -->
Как вы смогли убедиться из данного примера, пользоваться ssi не так уж и трудно, и более того очень полезно.
Технические аспекты использования ssi.
Стоит несколько слов сказать о техническом обеспечении, которое необходимо для использования ssi. Если вы просто создадите файл на своем локальном диске с корректными ssi командами и откроете его в вашем браузере, то никаких включений не произойдет, т.к все выражения типа <!-- :. --> для браузера являются чистой воды комментариями. Так называемые "включения" происходят еще на стадии обработки документа сервером, прежде чем послать его пользователю. В нашем случае такого этапа (обработка документа сервером) вообще нет. Так вот для того, что бы вы смогли полностью ощутить все преимущества ssi на своем локальном компьютере, вам нужен "домашний" web-сервер. И вот еще что: не каждый провайдер, предоставляющий хостинг, поддерживает ssi. Обычно это проблема бесплатных хостингов. Но и некоторые из них, если уж и позволяют использовать ssi, то требуют за это некую плату, например, размещение рекламы на сайте.
Вместо заключения хочу сказать что, технология ssi была специально разработана и создана для того, что бы сэкономить ваше время, а, следовательно, и деньги. Так что в любом случае старайтесь использовать ssi в своих проектах, как говорится, на полную катушку.