PHP и SSI это два разных обработчика. С помощью SSI можно очень быстро создавать несложные сайты с единым меню. Вспоминается начало 2000-х годов, когда сайты часто создавались на чистом HTML и чтобы добавить всего один пункт в меню, приходилось переделывать все страницы. SSI же решает эту проблему путем включения всего лишь одного файла в большое количество других файлов коротенькой командой. Да и работает SSI в данном случае быстрее, чем другие обработчики, но вот его функционал крайне ограничен. В принципе, SSI только и служит для сборки страниц.
У программистов могут возникать разные проблемы при совместной работе SSI и PHP. PHP богатый и удобный язык программирования, но вот одновременно нормально работать эти два языка не могут. Не зная этого, многие начинающие программисты не могли найти причины глюков в своем коде.
Допустим весь сайт работает на PHP, но в какой-то папке нужно использовать SSI. Такая ситуация может встретиться на некоторых неудобных виртуальных хостингах, где второй домен на площадке хранится как папка к корне основного домена. Для работы SSI нужно отключить PHP и включить SSI.
Для включения/отключения обработчиков используется файл .htaccess. PHP или SSI уже может быть включен, если нет, то используются команды в .htaccess файле. Для включения SSI можно написать:
AddHandler server-parsed .html .htm
Для включения PHP:
AddHandler application/x-httpd-php .php .htm .html
Для отключения включенного PHP и включения SSI в отдельной папке и в подпапках в ней создаем .htaccess с кодом:
RemoveType .html .htm
AddHandler server-parsed .html .htm
А вообще, не смотря на то, что SSI лишь чуток быстрее включает файлы, чем PHP, от него можно смело отказаться. Конструкцию на SSI:
<!--#include virtual="page.htm" -->
можно заменить конструкцией на PHP:
<?php require "page.htm"; ?>
и SSI тогда оказывается не нужен, а все возможности PHP становятся доступными.
|