Intereting Posts
Загрузить изображение с помощью jquery Как я могу использовать функцию preg_replace PHP для преобразования кодовых точек Unicode в реальные символы / объекты HTML? Вызов API телеграмм для создания бота-загрузчика Веб-службы vTiger: разрешение на выполнение операции отклонено для запроса fputCSV странное поведение Скопировать содержимое файла в другой файл Поиск min в столбце, где два других столбца равны нулю как установить таймаут в методе vueJs Есть ли причина, по которой мне нужно использовать stripslashes для представленных пользователем данных? Сортировка многомерных массивов по значению ключа подкадра получение исключения: Служба «db» не была найдена в контейнере инъекций зависимостей в Phalcon Сравните два многомерных массива и несоответствующие элементы Показать стоимость доставки на странице продукта – WooCommerce Оператор switch в PHP ввел HTML Есть ли способ отключить ссылку href при щелчке на n дней использовать файлы cookie в JavaScript

SSI включен в PHP, поскольку шаблон не работает

Я использую Ganglia-web-интерфейс, который написан на PHP. Он использует файлы шаблонов для добавления личных заголовков / нижних колонтитулов. Я хочу использовать набор страниц SSI, который я написал, но код SSI не интерпретируется apache.

более четко, ganglia использует $tpl = new TemplatePower( template("$header.tpl") ); для включения моего файла шаблона заголовка. В моем файле header.tpl я <!--#include virtual="/include/header.shtml" --> : <!--#include virtual="/include/header.shtml" --> который является моим включенным файлом (и который отлично работает с моими личными страницами / сценариями).

Если посмотреть на HTML-код, который я получаю в firefox (ctrl + U), я вижу, что apache включил зону SSI <!--#include virtual="/include/header.shtml" --> как комментарий, и имеет не перепутал его.

Я полагаю, что есть что-то делать с порядком, в котором вещи интерпретируются / выполняются, но я не могу найти способ сделать это. У кого-нибудь есть идея? Я также имею корневой доступ к конфигурации apache, если это необходимо.

заранее спасибо

РЕДАКТИРОВАТЬ:

Следуя предложениям Саши, я попытался добавить

 AddType text/html .tpl AddHandler server-parsed .tpl AddOutputFilter INCLUDES .tpl 

to /etc/apache2/httpd.conf, но это не помогает. Я не понимаю …

EDIT 2:

Я думаю, это может быть проблема с модулем PHP TemplatePower . Но я не могу заставить его работать. Я попытался добавить также $tpl->assignInclude( "header", "./header.tpl" ); в источниках ганглиев, но это не помогает.

Является ли Apache настроен на препроцессию .tpl файлов на стороне сервера? Если нет, он будет игнорировать директивы SSI в этих файлах.

В разделе «Включение серверных включений» в документации mod_include приведены сведения о том, как настроить это. Вам нужно убедиться, что .tpl присутствует в директивах AddType и AddOutputFilter .

Вы загружаете шаблон в качестве TemplatePower TemplatePower. Так что Apache не поддерживает этот файл .tpl, но ваш скрипт через этот объект TemplatePower .

Поэтому это выходит за рамки обработчиков содержимого и обработчиков действий apache.

если вы используете PHP как apache SAPI, вы можете использовать функцию virtual() .

Затем вы можете расширить механизм шаблонов для интерпретации тех, которые включают в себя виртуальные команды SSI, и вызвать функцию virtual() .

Поэтому ключевым моментом здесь является то, что в конце Apache должен выполнить шаблон shtml через подзапрос.