Отличия серверных директив SSI в Apache 2.4 и 2.2
Их понимание поможет избежать или исправить синтаксические ошибки.
Наряду с Apache 2.4 до сих пор встречаются хостинги применяющие версию 2.2, но однажды администраторами таких веб-ресурсов принимается решения обновить ПО до последней редакции.
Как результат, на сайтах использующих технологию SSI могут появиться ошибки, в случае применения серверных условных директив. Где немного изменились их синтаксические предписания.
Временное устранение проблемы
Проще всего в файле .htaccess прописать опцию, которая позволит использовать старый синтаксис:
Такое решение рассматривается, как временное. Проблему требуется решать, а не прятать. Тем более, использование такой опции не всегда эффективно. Поэтому правильнее использовать следующий вариант.
Предполагается, что главной причиной таких изменений послужила логика развития серверного ПО.
В случае необходимости за подробностями рекомендуется обратиться к официальной документации:
- httpd.apache.org/docs/2.4/mod/mod_include.html
- httpd.apache.org/docs/current/howto/ssi.html
Синтаксис SSI Apache 2.4 и предшествующий
В качестве примера за основу берется архив шаблона template4.zip, который актуален для страницы создания адаптивного бургер меню и в значительной мере для первоосновы шаблона динамического сайта (методика MYsiteD - этап #3), включая: пошаговые действия, соответствующие файловые структуры, схему верстки.
В файле general-includes/header.shtml, раскрытого архива, директивы со старым синтаксисом редактируются с учетом новых предписаний.
1. Apache 2.2
2. Apache 2.4
Актуальность SSI
Сейчас язык SSI используется реже чем в 90-е и нулевые годы, а зря. Основная причина - давние ограниченные функциональные возможности, которые вероятно уже не будут расширены.
В тот период времени такое решение было прорывным, позволяло снизить трудоемкость верстки и обслуживания статических сайтов. Ведь многие современные технологии еще только зарождались, но для небольших ресурсов такой подход по-прежнему актуален и в настоящее время занимают важную нишу.
Нет потребности для создания небольшого сайта в два-три десятка страниц, где важны скорость и наглядность, к примеру задействовать Node.js с MongoDB или нечто подобное с множеством библиотек и фреймворков, если тот же результат можно получить гораздо проще, быстрее и эффективнее.
Достойной альтернативы SSI не существует, даже в сравнении с нынешними новомодными веяниями исходя из комплекса условий: простоты, дешевизны, гибкости, безопасности и скорости. Например страницы открываются до 50% быстрее чем созданные в PHP.
Достигается благодаря динамическому формированию страниц из статических файлов с применением базовых серверных функций, языков HTML с CSS, разумным количеством вкраплений JavaScript и языков на уровне сервера, что позволяет придать ресурсу элементы интерактивности.
⚬ ⚬ ⚬
Из вышеизложенного понятно, что обновить старые синтаксические правила включения серверных директив в условиях Apache 2.4 не составляет труда.
На этапе выбора технологий, из множества возможных, при создании веб-приложений нельзя забывать о конечных целях и реальностях разработки с учетом перспектив эксплуатации. Для каждого конкретного осуществляемого проекта необходимо находить оптимальное решение.
