SSI – SERVER SIDE INCLUDES

SSI – SERVER SIDE INCLUDES
0 голосів
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4,50 out of 5)
Loading...

SSI – SERVER SIDE INCLUDES: що слід знати

SSI (Server Side Includes) – технологія, що дозволяє зручно збирати веб-сторінки з частин, вставляти в них результати виконання CGI-скриптів і надавати сторінкам інших елементів динаміки.

SSI – це набір команд, що дозволяє включити в сторінку інформацію, недоступну засобами HTML, таку як публікація/вивід результатів роботи програм, значення змінних оточення і статистику по файлах (розмір, дата створення і ін.). Все це і більше дозволяють робити CGI-скрипти, але навіщо писати цілий скрипт для отримання розміру файлу, якщо можна скористатися SSI? 😉

Опис довідки:
  • Які файли обробляються як SSI, як додавати свої файли
  • Обмеження
  • Як працює і для чого використовується
  • Ще приклади використання
  • Діагностика помилок при використанні
  • Корисні посилання

Які файли обробляються як SSI, як додавати свої файли

По-замовчуванню веб-сервер перевіряє на предмет наявності SSI-інструкцій тільки файли з розширенням * .shtml. Наприклад, розмістіть SSI-команди в файл index.shtml і це сразу буде працювати. Якщо є необхідність перевірити на наявність SSI інші файли, відповідні розширення для перевірки можна додати, помістивши в файл .htaccess наступну інструкцію:

AddHandler server-parsed .ext1

.ext1 тут – розширення файлів, які повинні перевірятися на наявність в них SSI. Не рекомендується додавати розширення .html та .htm, так як в цьому випадку сервер буде перевіряти всі html-файли на предмет наявності SSI-вставок. Це може привести до абсолютно невиправданого навантаження на сервер.

Обмеження

Для користувачів хостингу всі SSI-директиви доступні за виключенням обмежень для абонентів, які користуються тарифом, що не передбачає запуск власних cgi-скриптів. Для цих клієнтів запуск скриптів недоступний і через SSI-інструкції. Тобто, в термінах Apache для них діє опція NoExec.

Як працює і для чого використовується

Технології SSI починаючі користувачі в основному можуть використовувати для двох цілей: для «склейки» сторінок з частин HTML-коду та для запуску скриптів з метою розміщення результатів їх роботи на створеній html-сторінці. В першому випадку з диска сервера читаються відповідні файли і вставляються в код сторінки, звідки був викликаний SSI-код. В другому випадку веб-сервер, знайшов SSI-інструкцію, запускає скрипт, розміщений на диску, і вставляє в остаточну сторінку результат виконання скрипта.

Розглянемо докладніше:

#«Склеювання» сторінки з частин html-коду. Використовується для того, щоб не дублювати в безлічі веб-сторінок один і той же html-код. Наприклад, можна винести весь дизайн в SSI-включення, які підключати в конкретному html-файлі, в якому буде міститися тільки текст конкретної сторінки.

Помістимо в файл header.inc «заголовок» веб-сторінки (елементи дизайну, меню, потрібні посилання і інші елементи, які присутні на всіх сторінках), а в файл footer.inc помістимо нижню частину веб-сторінки (завершальну частину дизайну). Далі створимо файл з ім’ям index.shtml, який буде виглядати так:

<!--#include file="header.inc"-->
А тут у нас буде основний текст сторінки
<!--#include file="footer.inc"-->;
&nbsp;

Передбачається, що в файли-включення ми помістили html-код хоча б на кшталт початкових / кінцевих тегів <html>, <head>, <body> і так далі. В результаті користувач отримає сторінку, в яку буде спочатку включено вміст файлу header.inc, далі слова «А тут у нас буде основний текст сторінки» і потім вміст файлу footer.inc.

Таке використання SSI зручно з точки зору відсутності необхідності весь час вставляти у новостворювані сторінки один і той же html-код, а також з точки зору зручності зміни основних елементів сайту – міняємо в одному місці html-код, який відразу змінюється на всіх сторінках по всьому сайту.

#Запуск скриптів і розміщення результатів їх роботи на створюваної html-сторінці. Таким чином, можна розмістити на сторінці практично будь-який функціонал, наприклад, на мові Perl (або іншою мовою програмування, що підтримується хостингом).

Наприклад, у вас є скрипт-лічильник, який показує скільки відвідувачів заходило на вашу сторінку і знаходиться він за адресою /cgi-bin/count.pl. Включимо результат його роботи в веб-сторінку. Для цього в коді html-сторінки розмістимо такий SSI-код:

<!--#include virtual="/cgi-bin/count.pl"-->
&nbsp;

У підсумку на сторінці, яку побачить користувач, буде розміщений лічильник, який вивів скрипт /cgi-bin/count.pl.

Повний список SSI-команд ви знайдете в описі Apache-модуля mod_include

Ще приклади використання

Інструкції SSI можна використовувати не тільки для запуску скриптів і включення файлів. Також це дозволяє працювати зі змінними оточення веб-сервера, проводити маніпуляції з датами, виконувати команди за умовою і так далі. Хороший опис найбільш затребуваних застосувань команд SSI ви знайдете на сервері CIT Forum.

Діагностика помилок при використанні

Якщо при використанні SSI-команд на своїх html-сторінках ви побачили повідомлення “[anerror occured while processing this directive]”, це свідчить про виникнення помилки при обробці SSI-інструкції веб-сервером.

Можливі причини виникнення такої помилки:
  • невірно заданий шлях до файлу / скрипту що включається – такий файл не існує
  • невірно працює cgi-скрипт, який ви намагаєтеся вставити в сторінку
  • тариф, за яким працює ваш сервер, не дозволяє використовувати виконання cgi-скриптів

КОРИСНІ ПОСИЛАННЯ

Для зручності користувачів ми розміщуємо тут посилання, які будуть корисні при самостійному вивченні SSI і при роботі з цією технологією на практиці.

Якщо вам потрібна допомога/порада у налаштуваннях

заповніть Заявку нижче