.: SSI - Server Side Includes
SSI - это набор команд, указывающий Apache'у включить в SSI
страницу некую информацию, например, вывод из программы PERL,
значения переменных окружения, статистику по файлам (время создания
файла, его размер), другие html или SSI файлы.
Использование
SSI помогает значительно уменьшить размер файлов, размещаемых на
сервере и сделать процесс обновления контента и дизайна Вашего сайта
значительно проще. Например, если у некотго сайта (как например,
наш) сверху одинаковая для всех страниц шапка, то достаточно создать
файл shapka.html и во всех страницах вместо HTML блока этой
шапки вписать директиву <!--#include
virtual="shapka.html" --> Таким образом, изменив
содержание файла shapka.html Вы сможете быстро обновить все
станицы Вашего сервера.
Замечание: Когда
кто-то, например, Вы или робот поисковой системы, "прийдет"
посмотреть содержание этой страницы, то он не увидит SSI директив -
он увидит собранный html.
Текущее время и время
последнего обновления.
Для того, что бы сообщить
пользователю время правки некой страницы, можно включить
директивы:
<!--#config timefmt="%d.%m.%Y %H:%M:%S"
--><!--#flastmod file="index.html" -->
Вывод:
04.11.2001 15:38:25 SSI директива config
timefmt меняет формат вывода даты и времени на нужный
Вам:
Cегодня: <!--#config timefmt="%d.%m.%Y"
--><!--#echo var="DATE_LOCAL" --><br> Сейчас:
<!--#config timefmt="%H:%M:%S" --><!--#echo
var="DATE_LOCAL" -->
Вывод:
Cегодня: 28.02.2002 Сейчас: 18:33:41
Обработка ошибок
Иногда при
некорректном программировании и использовании SSI возникает ошибка.
Выглядит это так:
[an error occurred while processing this
directive] Для того, что бы заменить это сообщение на
нужное Вам и не терять пользователей целесообразно заменить это
сообщение на просьбу сообщить об условиях
ошибки.
Пример:
<!--#config
errmsg="<b>Пожалуйста, сообщите <a
href=mailto:your@mail.ru>администратору</a> об
ошибке.</b>" -->
Теперь при ошибке пользователь
увидит:
Для удобства пользователя целесообразно
помочь ему, например, вставив в SUBJECT или BODY письма значения
входящих переменных, а так же локальное время для отслеживания этой
ошибки в error.log сервера.
Крутилка
баннеров
Если Вы размещаете на Вашем сайте рекламу,
например, коммерческие баннеры или баннеры баннерных сетей и хотите
минимизировать свои временные затраты по размещению баннеров на
Вашем сайте, то самый простой путь - создать перловый скрипт,
управляющий выдачей баннеров, вернее html кода баннеров, и на всех
страницах вставить директиву его включения.
<!--include
virtual="/cgi-bin/showbanner.pl" -->
Далее в нем Вы
сможете прописать настройку таргеттинга или показ конкретных
баннеров на конкретных страницах.
Если, по каким-либо
причинам, использование PERL затруднено, то можно обойтись
средствами SSI. Создается SSI файл, управляющий выдачей баннеров.
Например, если у Вас три баннера, причем первый баннер надо
показывать в два раза чаще, чем остальные, то этот файл может
выглядеть следующим образом.
<!--#config timefmt="%S"
--><!--#set var="dt" value="$DATE_LOCAL" --> <!--#if
expr="$dt < 30" -->баннер 1<!--#elif expr="$dt < 45"
-->баннер 2<!--#else -->баннер 3<!--#endif -->
Вывод (обновите страницу для получения другого
баннера) :
баннер 2
В данном примере в
зависимости от текущей секунды выбирается баннер и показывается.
Аналогичным способом, проверяя время суток Вы можете выдавать
приветствие поосетителю с указанием времени суток, например, "Доброе
утро", "Добрый вечер" и прочее.
Информация о
пользователе
Когда пользователь, вернее его браузер
запрашивает некую страницу, то можно узнать откуда он пришел, каким
браузером и провайдером пользуется.
Твой IP - <!--#echo
var="REMOTE_ADDR" --><BR> Твой броузер - <!--#echo
var="HTTP_USER_AGENT" --><BR> Мой сервер - <!--#echo
var="SERVER_NAME" --><BR> Ты пришел со страницы -
<!--#echo var="HTTP_REFERER" --><BR>
Вывод:
Твой IP - 140.105.16.64 Твой броузер - Mozilla/4.5
www4mail/3.0 libwww-FM/2.14 (Unix; I) Мой сервер -
www.be1.ru Ты пришел со страницы -
(none)
|
Источник: Be1.Ru
|