Что такое SSI (Server-Side Includes)

Как Вы заметили, большинство страниц этого сайта имеют разное содержание, а некоторые блоки остаются неизменными. Например, навигация по сайту оформлена одинаково. Все те, кто когда либо создавал веб страницы, задумывался, как было бы хорошо, если повторяющиеся фрагменты HTML кода писать только один раз и они вставлялись автоматически на все страницы сайта. Но, обычный HTML не позволяет так делать. На помощь приходит SSI (Server-Side Includes, включения на стороне сервера). Эта технология позволяет добавлять контент во все страницы незаметно для пользователя. Давайте поэкспериментируем с SSI на примере, и Вы убедитесь в необходимости использования данной технологии. Размеры страниц заметно уменьшатся, отпадет надобность в повторении фрагментов с одинаковым содержанием для всех страниц, затраты времени по изменению значительно уменьшатся.

ШАГ 1

Создадим страницу в коде HTML которой прописываем любое содержание. Можно поставить код баннера или просто что то написать. Это будет выглядеть так: <h1>Привет всем!</h1>. Сохраним этот документ под названием content.html. Обратите внимание, что фаил content.html не содержит никаких тегов типа <head>, <html>, <body>, только то, что Вы хотите видеть у себя на сайте.

ШАГ 2

Откройте в редакторе любую страницу Вашего сайта. Например, главную Index.html и включаем в код страницы (между тегами <body>…</body>, то есть в тело) такой код: <!--#include file="content.html"--> То есть в любое место где Вы хотите увидеть «Привет всем!». Это будет выглядеть так:
Файл index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
 <title>Название вашей страницы</title>
</head>
 <body>
<!--#include file="content.html"-->
</body>
</html>

ШАГ 3

Заливаем файлы index.html и content.html на сервер Вашего сайта. Обычно это папка public_html/.
Работоспособность страниц с SSI - командами проверить невозможно в Вашем браузере просто с диска компьютера. SSI - команды понимает только вебсервер - поэтому для проверки их работоспособности вам придётся выгрузить их на сервер. Но, если Вы используете в качестве HTML редактора великолепную программу Adobe Dreamweaver все на много проще. Он заменяет различные программы для тестирования в качестве вебсервера.

 


ШАГ 4

Открываем  браузер. Вводим адрес Вашего сайта. Открывается главная страница сайта. Если сервер, который Вы используете в качестве хостинга, поддерживает технологию SSI, то в том месте, где стоит код (шаг 2),Вы увидите Привет всем!

ШАГ 5

Если не увидели ни чего или отображается надпись: [an error occurred while processing this directive], это следствие того, что для вебсервера Apache, технология SSI не является обязательной. Проделываем следующие действия:  Находим у себя на сервере фаил .htaccess, обычно в корневой папки.  Копируем его на компьютер. Открываем редактором и добавляем запись (к уже существующим) AddHandler server-parsed .html. Заливаем обратно на сервер.

Ещё возможное применение SSI

Как вы могли увидеть, SSI-команды вставляются в текст страниц, как обычные комментарии, внутри тэга <!--#SSI-команда="параметры" -->.  Единственное отличие от простого комментария - в начале должен обязательно присутствовать символ "#".
Ещё одно возможное применение SSI - с его помощью можно выводить различную информацию о странице. Команда <!--#flastmod file="creating-ssi.shtml"--> вставит в страницу число раз, когда эта страница обновлялась.

Команда #config timefmt

Указывает серверу, в каком формате выдавать дату командой flastmod. По умолчанию это что-то вроде "Sunday, 10-Sep-2000 17:58:59 Московское время (лето)". Вам же может захотеться получить дату в виде день/месяц/год. Для этого с командой config timefmt используется нужное сочетание следующих возможных параметров:
<!--#config timefmt="формат"-->

%a - сокращенное название дня недели.
%A - полное название дня недели.
%b - сокращенное название месяца.
%B - полное название месяца.
%c - формат даты и времени по умолчанию.
%d - день месяца (от 01 до 31).
%D - дата в формате мм/дд/гг. "%m/%d/%y" 12/31/99
%e - день месяца без ведущего нуля (от 1 до 31).
%H - часы в 24-часовом формате (от 00 до 23).
%I - часы в 12-часовом формате (от 00 до 12).
%j - день года (от 001 до 366).
%m - номер месяца (от 01 до 12).
%M - минуты (от 00 до 60).
%p - выводит AM или PM в зависимости от времени и заданного формата.
%r - время с автоматическим добавлением AM или PM.

%S Секунды 34
%s Время в секундах с 01.01.1970 957228726
%T - время в формате чч:мм:сс.
%U Неделя года 16
%w Номер дня недели 4
%Y Год в формате ГГГГ 1999
%Z Временная зона


Пример:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Название вашей страницы</title>
</head>
<body>

<!--#config timefmt="Дата: %d-%m-%y, время: %T"-->
</body>
</html>

 

Результат: 21/11/2000, 00:42:33

 

Команда #config sizefmt

Изменяет формат вывода значения размера файла. <!--#config sizefmt="abbrev"--> заставляет выводить размер файла в килобайтах ( 26k), а <!--#config sizefmt="bytes"--> - в байтах (26,576)
Обратите внимание на то, что команды #config sizefmt и #config timefmt влияют на все связанные с ними SSI-команды от того места, откуда они были вызваны и до самого конца страницы. Поэтому каждый вызов команд #flastmod и #fsize снабжайте своей командой #config - так проще и спокойнее.

Команда #flastmod file

Отображает дату последней модификации указанного файла. Формат даты устанавливается через директиву config и параметр timefmt. Синтаксис следующий.

<!--#flastmod file="URL" | virtual="URL"-->

Путь к файлу определяется с помощью параметров file или virtual, которые имеют те же функции, что и для директивы include.

site-pro-site.ru
Контакты

Меню Site-pro-Site.ru

 

 

 

 

 

 

 

 

Партнеры

Полезные ссылки для WEB мастера

Полезно почитать

Как Создать...


Все Технические Моменты Онлайн Бизнеса в Видеоформате

Javascript+jQuery для начинающих в видеоформате

Как Создать Информационный Бестселлер на DVD или CD

PHP+MySQL для начинающих

Joomla - профессиональный сайт за один день

WordPress - профессиональный блог за один день

Технические секреты продуктивной работы в онлайн бизнесе

Весь Photoshop ...


Фотошоп уроки для повышения мастерства

Photoshop для фотографа

Photoshop CS5 от А до Я

Фотошоп с нуля в видеоформате

26 полезных статей для начинающих Фотошоп-мастеров

Как Легально Заработать в Интернете...

Самые Лучшие Бесплатные Браузерные Игры