Представьте себе такую ситуацию: Вы держатель супер сайта с количеством страниц приближающемся к тысяче (ну или если хотите к 10000 :-). На каждой из них Вы держите свой почтовый адрес, чтобы любой смог попереписываться с вами. Вам пишут просто толпы народу и Вы даже не успеваете все прочитать. Тут не дай бог, ломается почтовый сервер вашего провайдера, причем на неограниченное время. Что делать ??? Ну делаете себе почтовый ящик у другого провайдера. Но сайт !!! Он просто переполнен вашим старым адресом. Что делать ? Сидеть и вручную изменять каждую страничку ? Для этого вам придется угробить пол жизни... :-))) Любой специалист вам скажет : Надо было применять SSI !!!
Так что же это такое ?
Для начала расшифровка SSI. Это Server-Side Includes, что значит вставка на стороне сервера. Звучит не очень понятно :-). Ну если просто, то это возможность того, что сервер будет включать в ваши документы какие то данные во время предачи, т.е. "на лету".
AddType text/html .shtml AddHandler server-parsed .shtmlЕсли Вы их не нашли, то вставьте в конце.
Если Вы не администратор сервера и возможности подправить настройки сервера у Вас нет ,но вы твердо уверены, что на сервере установлен Apache, то в каталоге, где будут лежать файлы SSI, создайте файл с именем .htaccess. В него запишите те две строчки и добавьте:
Options +IncludesТеперь, по идее, все должно работать как часы :-).
Для того чтобы в файл что-то включить используется "команда" вида:
<!--#команда атрибут1="значение" атрибут2="значение" ... -->Причем признак конца (-->) должен следовать после пробела, чтобы отделить его от основной команды.
На самом деле эти "команды" простые комментарий в файле .html. Но переименовав его в .shtml мы заставляем сервер искать комментарии такого типа и использовать их в качестве команд.
Команды SSI бывают нескольких типов:
К конфигурационным относятся config и set.
Для команды config существуют следующие атрибуты :
Пример:
<!--#config sizefmt="bytes" timefmt="%A %y %X" --> <p>File size : <!--#fsize file="index.html" --> <p>Last modyfied : <!--#flastmod file="index.html" -->В этом случае выведутся данные в таком формате:
File size : 1,958 Last modyfied : Thursday 99 19:25:16
Команда set задает значения переменных. Атрибуты :
Дальше идут команды, которые выводят данные или значения переменных. К ним относятся echo, fsize, flastmod и printenv.
Команда echo выводит содержимое переменной, название которой задается параметром var. Пример :
<!--#set var="enc" value="RUS" --> <!--#echo var="enc" -->
Команда fsize выводит размер файла указываемого параметром file. Этот параметр задает положение файла относительно текущей директории. Другой параметр virtual задает URL-путь (%-кодированный) до файла относительно текущей директории. Размер файла выводится в формате заданным параметром sizefmt команды config.
<!--#config sizefmt="bytes" --> <!--#fsize file="index.html" -->
Команда flastmod выводит дату последней модификации файла заданного параметрами file или virtual, как в команде fsize. Формат вывода времени задается параметром timefmt команды config.
Комагда printenv выводит значения всех переменных окружения и переменных заданных с помощью set.
Про остальные команды SSI в следующем шаге.