SSI розшифровується як S erver S ide I nclude. SSI - це набір команд, що дозволяє включити в сторінку інформацію, недоступну засобами HTML, таку як висновок програм, значення змінних оточення і статистику по файлах (розмір, дата створення і ін.). Все це і більше дозволяють робити CGI-скрипти, але навіщо писати цілий скрипт для отримання розміру файлу, якщо можна скористатися SSI? :)
SSI працює дуже просто: при отриманні запиту на документ, який містить SSI-директиви, http-сервер обробляє документ, виконує всі SSI-директиви, а вийшов в результаті документ повертає клієнту. Http-сервер не перевіряє автоматично всі документи на наявність SSI-директив, а тільки ті, які відносяться до типу, зазначеному в настройках сервера.
AddType text / html .shtml
AddHandler server-parsed .shtml
Після цього всі документи з розширенням .shtml будуть перевірятися на SSI-директиви. Але зручніше буде визначити щоб все .html-файли могли містити SSI. Це робиться додавання в srm.conf наступних рядків:
AddType text / html .html # не обов'язково, тому що він і так описаний.
AddHandler server-parsed .html
Тепер треба дозволити виконання SSI в каталозі, в якому лежать твої файлу. Знайди в access.conf опис каталогу, в якому лежать твої html'и і додай в його Options директиву Includes.
#було так
Options Indexes
# Стало так
Options Indexes Includes
Якщо твій каталог не прописаний, його треба прописати. Почитай доку по Apache. щоб дізнатися як це робиться. :) А якщо у тебе немає можливості змінювати srm.conf або access.conf. тобто ти не root. тоді за пивом, а потім до адміну. :)
Використовувати можна такі SSI-директиви:
Використовується для виведення значення змінної оточення.
Ти прийшов зі сторінки -
Список змінних оточення:
Мій PGP ключ:
-----BEGIN PGP PUBLIC KEY BLOCK ----- Version: PGPfreeware 5.0i for non-commercial use mQBtAzhowUIAAAEDAM + 2uk0Jd15B49ZUd6oN6qsMWI / lLixReCHqRFh / 1rCzGChj AS82oFsXzW55bUCHvK2g9BWyPIdP2vr6HirF1RL / 7eyZ0kCPgp / btBGMMdFlLEN8 lnZeDa / DyHe9VH8GYwAFEbQPREggPGRoQG51bGwucnU + iQB1AwUQOGjBQsPId71U fwZjAQGfBwMAqOlRs0SbsM / WHunVOGWxRPaIbpU5BmAttA6j / iVzvcO1cn9O2mYw YLuIC5KtucsYIRXPfopifY5RLmSQgnJhBQL2G7IcKGmYh9dTk5LYqJKAus + cNHRl zGZX1Hw2DqOu = 0Kmx - --- END PGP PUBLIC KEY BLOCK -----
fsize file
Вставляє розмір зазначеного файлу.
Розмір файлу цієї сторінки:
Розмір файлу цієї сторінки: 15k
flastmod file
Вставляє час останньої модифікації зазначеного файлу.
Час останньої модифікації файлу цієї сторінки:
Запускає зовнішню програму (exec cmd) або cgi-скрипт (exec cgi) і вставляє в вміст сторінки висновок.
Трохи інформації про тебе:
Трохи інформації про тебе:
Ти користуєшся браузером "Netscape". версії 4.73 [en] для операційної системи "Linux 2.2.14-15mdk i686)". У тебе прямий доступ в Internet. Твій IP - 194.186.148.202. а ім'я хоста - tura.ru
Не так вже й багато. )
зараз:
config errmsg
config sizefmt
config timefmt
Змінює різний параметри конфігурації SSI. config errmsg змінює стандартне повідомлення про помилку на введене користувачем. Повідомлення про помилку виникає при неправильному виконанні SSI-директиви, наприклад при відсутності cgi-скрипта, який ти намагаєшся запустити.
Це стандартна помилка при запуску скрипта, якого немає:
А тепер замінимо повідомлення про помилку і повторимо:
Директива config sizefmt змінює формат виведення розміру файлу.
Розмір файлу цієї сторінки в кілобайтах:
Розмір файлу цієї сторінки в байтах:
Розмір файлу цієї сторінки в кілобайтах: 15k
Розмір файлу цієї сторінки в байтах: 14,856
Директива config timefmt змінює формат виведення дати і часу.
Час модифікації файлу цієї сторінки в секундах з 01.01.1970:
Час модифікації файлу цієї сторінки в читабельному вигляді:
Параметри, які використовуються в config timefmt:
Виводить всі змінні оточення. Параметрів не має.
Список змінних оточення:
Встановлює значення змінної оточення. Формат такої set var = "ім'я_змінної" value = "ЗНАЧЕННЯ".
Значення змінної SERVER_NAME:
Значення змінної SERVER_NAME:
Значення змінної SERVER_NAME: in-hosting.agava.ru
Змінимо значення:
Значення змінної SERVER_NAME: www.dhls.ru
if / else
Наявність такої команди не може не радувати. ) Застосовується для управління виводу сторінки за умовою. Синтаксис такий:
HTML-код, який буде виводитися, якщо УСЛОВІЕ1 істинно
HTML-код, який буде виводитися, якщо УСЛОВІЕ1 помилково, а УСЛОВІЕ2 істинно
HTML-код, який буде виводитися, якщо всі умови помилкові
Умова - це або рядок, яка є істинною, якщо непорожня, або набір операторів порівняння рядків. Оператори можуть бути =,! =, І>. Якщо другий рядок укладена в "/" (Слеш), то умова істинно, якщо в першому рядку зустрічається хоч одне входження другого рядка. Можна об'єднувати кілька операторів порівняння за допомогою операторів (І) і || (АБО). Для групування умов використовуються "()" (дужки).
Висновок: Броузер: Невідомий (Mozilla / 4.73 [en] (X11; I; Linux 2.2.14-15mdk i686))