SSI
Технология SSI (Server Side Includes) — включение на стороне сервера. Язык для динамической «сборки» WEB-страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML-документа.
В Apache язык реализован при помощи модуля mod_include. В Nginx оптимизация и использование используется модуль ngx_http_ssi_module.
- Использование SSI
Технологию SSI использую во всех случаях, когда некий блок включается более чем в одну страницу: реклама, баннеры, элементы дизайна, навигации, строки копирайта и так далее. Безусловно нужный блок можно включить во все страницы сайта, но если вдруг придется поменять какое-то значение, то придется это делать на всех страницах. Это неудобно и неэффективно. Правильней и проще создать один файл с нужным блоком и вставлять его во все страницы с помощью технологии SSI.
Блок включается динамически, при каждом вызове страницы, поэтому любые изменения в блоке сразу отображаются на всех страницах.
Вставка содержимого файла:
<!--#include file="footer.html"--> <!--#include virtual="header.asp"--> <!--#include virtual="/right.links.txt"-->
- include — включает текст другого документа или файла в сканируемый файл. К включаемому файлу применяются все установленные правила ограничения доступа. Если для каталога, из которого включается файл, установлена опция IncludesNOEXEC, и включение данного документа привело бы к запуску программы, то документ не включается, и выводится сообщение об ошибке. CGI сценарии вызываются, как обычно с помощью URL, который может содержать кодированную строку запроса (query string). Положение файла указывается с помощью атрибутов:
- file — указывает путь, относительно сканируемого документа; путь не может содержать ../ и не может быть абсолютным путем; всегда предпочтительнее использовать атрибут virtual;
- virtual — содержит кодированный URL, относительный или абсолютный; URL не может содержать имя протокола или имя хоста, и может содержать строку запроса.


