SSI

Більшість сторінок на сайті, незважаючи на їх різний зміст, має однакову структуру коду. Наприклад, верхня і нижня частина документа практично не змінюється від сторінки до сторінки. У такому випадку рекомендується однакові фрагменти коду зберігати в окремих файлах і підключати їх у міру необхідності. Однак традиційний HTML не дозволяє робити подібних функції, тому допомогти тут може SSI. SSI (Server-Side Includes, включення на стороні сервера) дозволяє додавати контент у безліч сторінок, причому непомітно для користувача. Це означає, що при запиті браузера певного документа йому передається вже готовий, повністю сформований код. Особливістю SSI є те, що ця технологія працює тільки під управлінням веб-сервера, наприклад, Apache. Зазвичай веб-сервер перевіряє на наявність вбудованих команд не всі файли на сервері, а тільки із заданим розширенням, як правило - shtml. Щоб перевірити, чи працює у вас SSI, створіть два файли в одній папці, один з ім'ям index.shtml, а другий - content.html, як показано в прикладі 1.1.

Приклад 1.1. Використання SSI

Файл index.shtml
 <!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>SSI</title>
 </head>
 <body> <!--#include file="content.html"--> </body>
 </html>


Файл content.html
 <h1>Працює!</h1>
У даному прикладі вміст файлу content.html вбудовується в файл index.shtml в тому місці, де стоїть команда <!--#include file="content.html"-->. Зверніть увагу, що файл content.html не містить ніяких тегів зразок <HTML> і <BODY>, інакше вони також будуть додані у вихідний документ. Якщо подивитися підсумковий код документа, то ми побачимо наступне (приклад 1.2).

Приклад 1.2. Код, отриманий в результаті використання SSI

<!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>SSI</title> 
 </head>
 <body>
 <h1>Працює!</h1>
 </body>
 </html>
Якщо ваш сервер підтримує SSI, то після відкриття файлу index.shtml, ви побачите напис «Працює!». У тому випадку, коли написано щось інше або взагалі нічого немає, можливі два варіанти.
  1. З'являється напис [an error occurred while processing this directive]. Це означає, що SSI працює, але в коді є помилка.Наприклад, додані зайві пробіли або вказаного файлу немає.
  2. Нічого не відображається. Слід подивитися вихідний код документа, якщо в ньому видно рядок <!--#include file="content.html" -->, значить веб-сервер не підтримує SSI або воно не поширюється на розширення shtml.
Розширення shtml не є обов'язковим, для веб-сервера Apache його можна поміняти на будь-яке інше за допомогою конфігураційного файлу .htaccess. Для цього в корені сайту створюється звичайний текстовий файл з ім'ям .htaccess (без розширення і з крапкою на початку). У цьому файлі слід набрати рядок, як показано в прикладі 1.3.

Приклад 1.3. Вміст файлу. Htaccess

AddHandler server-parsed .html

Замість розширення html можна вказати будь-яке інше бажане, а також через кому перерахувати кілька розширень файлів.
Зауваження

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

Можливості SSI не обмежені додаванням вмісту іншого файлу. За допомогою SSI можна запускати серверні додатки, використовувати змінні оточення, вказувати розмір файлу, дату модифікації документа і багато іншого.
Якщо ви знайшли помилку, прохання - виділіть текст помилки (максимум 127 символів) і натисніть Ctrl+Enter.