.htaccess не нужен!

Да, именно так. Он не нужен. Вообще. Давно пора отказаться от его использования (особенно если сайт размещается на VPS или выделенном сервере). К сожалению, существует масса CMS, не работающих без него.

Данный файл позволяет переопределить настройки веб-сервера Apache для директории в которой он находится без перезагрузки веб-сервера.

Почему следует от него отказаться?

1. Он замедляет работу сайта.

.htaccess читается апачем при обработке ВСЕХ поступающих запросов. Соответственно, если у вас реализовано ЧПУ для сайта в этом файле, веб сервер проделает следующую дополнительную работу:

  1. Открытие файла .htaccess;
  2. Его чтение;
  3. Синтаксический анализ;
  4. Применение настроек (которые, к слову могут быть весьма дорогостоящими);
  5. Закрытие файла.

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

2. Он нарушает совместимость с другими веб-серверами.

К примеру, ваш сайт гвоздями прибит к .htaccess. А вы, внезапно, решили его перенести под управление nginx + php-fpm. Вы, в лучшем случае, потратите уйму времени на перенос директив .htaccess в конфиг nginx. В худшем случае, просто потратите уйму времени ничего не добившись.

Еще один, неплохой пример был, когда было нужно перенести такой сайт на nginx + apache, где nginx ничего не кешировал, а просто раздавал статический контент (так быстрее, ибо отсутствует оверхед вызванный вытягиванием из апача статики). Сайт не взлетел, так как «гениальные» разработчики засунули ЧПУ для статического контента.

3. Практически все, что принято делать в .htaccess можно реализовать лучшим способом.

ЧПУ? Это нужно делать в PHP, на худой конец, в настройках VirtualHost / server{}.

Кеширование на стороне клиента? VirtualHost / server{} опять вам в помощь. Аналогично со сжатием, редиректами и прочими прелестями.

4. Безопасность.

В .htaccess можно прописать великое множество настроек, многие из которых небезопасны, чем и успешно пользуются злоумышленники, особенно, если запись в него разрешена.

Оправданное использование .htaccess.

Как правило, хостеры на шаред-хостинге запрещают внесение изменений в конфигурацию nginx, apache2 или php и единственным путем изменения настроек сервера остается .htaccess. Если выигрыш от внесенных настроек составит больше, чем потеря производительности, то вполне оправданно указывать настройки в .htaccess.

Добавить комментарий