Если страница, расположенная на вашем сайте имеет расширение .shtml или .shtm, она будет расценена сервером, как динамическая. При выдаче страницы сервер будет искать в ней специальные директивы, чтобы заменить их на html-код.

Такая методика называется «server side includes» или «включение на стороне сервера» и часто сокращается до аббревиатуры «SSI». Вы можете почитать подробно об использовании SSI на сайте web-сервера Apache (англ).

Безусловно главным применением SSI является сборка сайта из различных блоков. SSI избавляет от необходимости повторять один и тот же код на многих страницах сайта. Рассмотрим это на примере подключения заголовка.

Если заголовок (шапка) вашего сайта не меняется, сохраните её в файле header.inc и положите в директорию /www. Теперь в любую страницу сайта мы можем вставить наш заголовок директивой:

<!--#include virtual="/header.inc" -->

Изменив файл header.inc мы изменим заголовок на всех страницах, где он подключён через SSI. Такой метод позволяет отделять тексты страниц от дизайна и упрощает построение сложных сайтов. Теперь взгляните на пример размещения статьи:

<html>
<head>
<title>Заголовок статьи</title>
<!--#include virtual="/style.css" -->
</head>
<body>
<!--#include virtual="/header.inc" -->
Текст статьи
<!--#include virtual="/footer.inc" -->
</body>
</html>

В примере используется подключение нескольких файлов:

/style.css – содержит описание css-таблиц для формирования дизайна страниц
/header.inc – содержит заголовок страниц, в частности, логотип
/footer.inc – нижний колонтитул, например, copyright
Подключаемая страница должна располагается в директории /www или /sub/domain для суб-домена. Нельзя подключать страницу по относительному пути наверх: ../ В этом случае вы получите ошибку на месте подключения.

Правильные подключения:

<!--#include virtual="page.inc" -->
<!--#include virtual="dir/page.inc" -->
<!--#include virtual="/page.inc" -->
<!--#include virtual="/dir/page.inc" -->

Неправильные подключения:

1. Файл подключается по относительному пути наверх:

<!--#include virtual="../page.inc" -->

2. Файл подключается по пути физического расположения:

<!--#include virtual="/www/page.inc" -->

Избежав этих ошибок, вы легко разберётесь, как построить сайт «из кирпичиков» и обновлять его без лишних хлопот.

Категория: PHP, HTML, CSS..., Сайтостроение | Теги:

Оставьте свой комментарий