краткое руководство SSI - Server Side IncludesRambler's Top100 be1.ru > статьи > краткое руководство SSI - Server Side Includes
О сервисах  |  Регистрация  |  Для пользователей  |  Создание сайта / статьи  |  Контакты  |  Работа в IT  |  Поиск в интернет

ОТКРЫТЫЙ РАЗДЕЛ
  • Раскрутка сайта
  • Статьи и материалы
  • Терминология
  • Условия сервиса
  • Полезные ссылки
  • Работа в IT
  • о проекте
  • наши баннеры
  • обмен ссылками
  • подписка на новости
  • обратная связь

  • Рекомендуем Вам заказать создание сайта, web-дизайн и раскрутку сервера в компании ViPro.



    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" -->

    Вывод:
    02.05.2008 21:02:33

    SSI директива config timefmt меняет формат вывода даты и времени на нужный Вам:

    Cегодня: <!--#config timefmt="%d.%m.%Y" --><!--#echo var="DATE_LOCAL" --><br>
    Сейчас: <!--#config timefmt="%H:%M:%S" --><!--#echo var="DATE_LOCAL" -->

    Вывод:
    Cегодня: 29.07.2010
    Сейчас: 23:08:33


    Обработка ошибок

    Иногда при некорректном программировании и использовании 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 - 38.107.191.80
    Твой броузер - CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
    Мой сервер - be1.ru
    Ты пришел со страницы - (none)

    Для вопросов используйте RTFM по Apache или задавайте вопросы.


    Rambler's Top100 Рейтинг@Mail.ru