Почему php разработчики используют .htaccess как часть системы?

В видеоуроках, в статьях, я часто вижу, как PHP разработчики используют файл .htaccess как часть системы, часть сайта.
В этом файле прописывают директивы доступа к папкам, перенаправления и т.д.
Но .htaccess работает только с Apache. А это далеко не единственный и даже не самый популярный веб сервер - есть nginx и lighttpd.
Почему разработчики не пишут код, который был бы универсальным для всех веб серверов и не делегировал часть функций безопасности конфигурационному файлу конкретного веб сервера?
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега PHP
♬♬
Незачем пытаться охватить все веб-серверы. Для урока авторы, видимо, решили, что «сойдёт и так» – на примере одного из популярных, Apache.

Вы уже переросли песочницу тех уроков и знаете другие варианты. Значит, сумеете понять и перенести правила из .htaccess в конфиг NGINX. С помощью Google, SO и Habr.QnA )

Популярен паттерн "front controller" — когда веб-сервер конфигурят, чтобы все запросы падали только на корневой /index.php, а там уже логика внутри PHP узнавала запрошенный URL /section1/page2 и отдавала соответствующий ответ. Такие решения универсальны относительно веб-сервера.

Файл .htaccess иногда кладут в проект, потому, что это легкий невидимый файл, который не помешает. Но поможет понять ожидаемое поведение веб-сервера. Конфиги NGINX лежат отдельно от проекта, поэтому их не прилагают. Хотя иногда приводят пример в документации.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
В видеоуроках, в статьях, я часто вижу, как PHP разработчики используют файл .htaccess как часть системы, часть сайта.
На то они и уроки/примеры. Рабочие конфигурации для любого сервера обычно тоже есть в туториалах чуть сложнее чем "давайте напишем хеллоу ворлд".

Но .htaccess работает только с Apache.
А так же его синтаксис понятен для большинства разработчиков и сисадминов, настройки из него легко портируются под любой современный вебсервер.

Почему разработчики не пишут код, который был бы универсальным для всех веб серверов и не делегировал часть функций безопасности конфигурационному файлу конкретного веб сервера?
по тому что единая точка входа не реализовывается программными средствами?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы