Сайтостроительство


         

Server Side Includes - часть 2


Там, собственно, хранится код завершающий любую HTML-страницу нашего веб-сайта. Таким образом, SSI позволяет избежать избыточности. Общий код для всех HTML-страниц нашего сайта хранится в одном месте. Теперь, если нам захочется добавить пункт меню или поменять что-либо еще, то нам не придется бегать по всему сайту и изменять каждый файл отдельно. Достаточно будет внести изменения в один файл. Для того чтобы начать экспериментировать с SSI-командами надо внести изменения в файл httpd.conf и перезапустить веб-сервер Apache. Найдите и раскомментируйте следующие две строчки в файле httpd.conf. Они указывают веб-серверу, что файлы с расширением shtml надо обрабатывать прежде, чем выдавать пользователю.

AddType text/html .shtml AddHandler server-parsed .shtml

Если вы собираетесь повсеместно использовать SSI, то добавьте еще и такую строчку. У нас SSI-команды присутствуют в большинстве HTML-документов, поэтому на нашем веб-сервере такая строчка присутствует в файле httpd.conf

AddHandler server-parsed .html

HTML-код для включения в HTML-документы обычно хранится в файлах с расширением inc. Включите и для этих файлов обработку SSI-директив. Это позволит делать рекурсивную обработку SSI-директив. Если в файле footer.inc будет SSI-директива, то она будет обработана.

AddHandler server-parsed .inc

Еще может потребоваться добавить опцию Includes в следующий раздел.

<Directory /> Options FollowSymLinks Indexes MultiViews Includes AllowOverride All </Directory>

На нашем сервере под управлением FreeBSD такая опция стоит. У меня дома на Windows98 ее нет и SSI работают. Возможно тут дело в различных версиях Apache.

Теперь перезапустите веб-сервер. Давайте рассмотрим SSI еще на одном примере, заодно разберем одну из самых распространенных структур организации HTML-документов. На большинстве сайтов, документы состоят из трех частей: заголовок, тело и завершающая часть. Для эксперимента создайте директорию на вашем веб-сайте и назовите ее ssi. В этой директории создайте head.inc со следующим содержанием:




Содержание  Назад  Вперед