SSI
SSI (Server Side Include) - переводится примерно как "включения на стороне сервера".В веб-сервере Apache реализован при помощи модуля mod_include. SSI - это набор команд, позволяющий включить в страницу информацию, недоступную средствами HTML, такую как вывод программ, значения переменных окружения и статистику по файлам (размер, дата создания и др.). SSI работает следующим образом: при получении запроса на документ, содержащий директивы SSI, web-сервер обрабатывает документ, выполняет все директивы SSI, а получившийся в результате документ возвращает клиенту.
SSI-директивы включаются в html-код в виде коментариев определенного формата:
Основные директивы:
config — устанавливает формат сообщений об ошибках, дат и размера set — устанавливает значение переменной printenv — выводит список переменных окружения echo — вставляет значение переменной flastmod — вставляет дату и время изменения файла fsize — вставляет размер файла include — вставляет содержимое другого файла if, elif, else, endif — условные операторы
Так же у каждой директивы существуют свои параметры отвечающие за то или иное действие или вывод информации.
Примеры использования SSI:
echo var - Используется для вывода переменных окружения.
<!--#echo var="REMOTE_ADDR"-->
include virtual - Включает в документ содержимое указанного файла. Если с помощью include virtual включается cgi-скрипт, то в содержимое страницы попадет вывод cgi-скрипта, а не его содержание.
<!--#include virtual="/test.htm"-->
fsize virtual - Вставляет размер указанного файла.
<!--#fsize virtual="/index.shtml"-->
Web-сервер проверяет не все документы на наличие директив SSI, а только те, которые относятся к типу, указанному в настройках сервера. В большинстве случаев используется общепринятое расширение .shtml. Но по желанию пользователь может изменить тип обрабатываемого файла на свой, использую файл конфигурации сервера, или если пользователь не имеет доступа к конфигурации сервера можно использовать файлы .htaccess . К примеру так:
AddType text/html .shtml .html .htm
AddHandler server-parsed .shtml .html .htm
Options Indexes FollowSymLinks Includes