Apache 2.4 · практический справочник

Что такое .htaccess и когда он не нужен

.htaccess — файл настроек Apache, действующий для каталога. Он полезен, когда хостинг не даёт доступа к основной конфигурации сервера, но не является универсальным файлом для Nginx, IIS и любой инфраструктуры.

Файл .htaccess открыт в редакторе
До изменения сохраните текущий файл и убедитесь, что публичный сервер использует Apache.

До редактирования

  • определите Apache и каталог, запросами которого управляет файл;
  • сохраните текущую версию и оставьте доступ через файловый менеджер или SSH для отката;
  • проверьте, какие директивы хостинг разрешает через AllowOverride;
  • меняйте по одному правилу и проверяйте целевой URL вместе с другими страницами.

Если есть административный доступ к серверу, Apache рекомендует основную конфигурацию: она понятнее и не требует искать файлы настроек при каждом запросе.

Распространённые задачи

ЗадачаАктуальный подходОграничение
Файл по умолчаниюDirectoryIndex index.html index.phpДиректива должна быть разрешена хостингом.
Своя страница 404ErrorDocument 404 /404.htmlСама страница ошибки должна корректно открываться.
Канонический редиректmod_rewrite с точным условием по хосту и протоколуПроверьте пути, параметры, CDN/прокси и отсутствие циклов.
Ограничение доступаДирективы Apache 2.4 RequireСтарые Order, Allow и Deny устарели.
Защита файлов<FilesMatch> и Require all deniedСекреты лучше не хранить в публичном каталоге.

Пример редиректа

RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]

Это иллюстрация, а не универсальный фрагмент для копирования. Reverse proxy или CDN может менять признаки HTTPS и исходного домена. При неясной инфраструктуре сначала тестируют временный редирект, а постоянный код включают после проверки.

Что не стоит решать случайными фрагментами

  • не перенаправляйте мобильных пользователей по User-Agent в отдельную папку — обычно нужен адаптивный дизайн;
  • не считайте блокировку нескольких названий ботов защитой: User-Agent легко подменяется;
  • не заставляйте браузер скачивать файлы произвольной сменой MIME-типа без проверки;
  • не включайте сжатие, кеширование и защитные заголовки одновременно в нескольких слоях.

Проверка и откат

  1. Проверьте конфигурацию Apache или журнал ошибок хостинга.
  2. Запросите затронутые URL и изучите статус, Location и заголовки.
  3. Проверьте формы, статические файлы, главную и внутреннюю страницу.
  4. При ошибке 500 или цикле сразу восстановите сохранённый файл.

Комментарии


Как обычно, мы открыты для общения и вы можете смело писать свои комментарии, задавать вопросы и просто делиться мнением. Ваши отзывы очень важны для нас!