Построение сайта по единому шаблону.

Эта статья является логическим продолжением публикации "Практическое применение PERL-скриптов

В вышеуказанной статье предлагалось вынести все ссылки вашего сайта в одтельный файл. И производить его вставку в остальные страницы сервера. Рассматривались реализации с помощью фреймов и на основе SSI. С обсуждением их достоинств и недостатков.

А на последок предлагался вариант построения сайта на основе одного файла-шаблона. Ведь гораздо эффективнее всталять наши страницы в один файл-шаблон, в котором находятся все часто используемые элементы: ссылки, банеры и т.д. В качестве примера приводился скрипт на PERL.

Однако в самом простом случае, который описывался в статье, можно обойтись и без использования PERL. Имеется ввиду вариант, когда вы передаете в строке запроса только одно значение - имя вставляемой страницы.

Итак, решение четвертое (в продолжение нумерации вышеуказанной статьи): Простое и эффективное - использовать SSI с обработкой строки запроса. Имеем все преимущества третьего решения, то есть не зависит от браузера пользователя, так выполняется сервером, не портит дизайн, так как не содержит фреймов с полосками прокрутки. Позволяет использовать один файл-шаблон для построения всего сайта. При этом отпал один минус - необходимость в использовании PERL.

А выглядит решение очень просто, в том месте где необходимо вставить файл (на основании строки запроса), необходимо написать следующее:
<!--#include virtual='${QUERY_STRING}' -->
Все ссылки при этом выглядят аналогично примеру три. Например : http://www.mysite.com/wellcom.shtml?home.html

Если предполагается вставка фалов одного типа (с одним расширением, например, HTML). То расширение файла в строке запроса можно опустить. А команду вставки файла преобразовать следующим образом: <!--#include virtual='${QUERY_STRING}.html' -->
И адреса примут вид (к примеру):
http://www.mysite.com/wellcom.shtml?home

Как видите, все очень просто.

Это изящное решение можно использовать при построении простых сайтов, когда не требуется глубокая обработка строки запроса.

Яндекс.Метрика