Файл дополнительной конфигурации веб-сервера - .htaccess


.htaccess (hypertext access) — файл дополнительной конфигурации веб-сервера Apache и подобных ему серверов.

.htaccess (с точкой в начале имени) – обычный текстовый документ с расширением ".htaccess", предоставляющий возможность конфигурировать работу сервера в отдельных директориях (папках), не предоставляя доступа к главному конфигурационному файлу - httpd.conf. Однако при условии, что в файле httpd.conf прописаны директивы, разрешающие файлу .htaccess переопределять конфигурацию web-сервера в каталоге. Эта директива называется AllowOverride. Она может быть установлена как для всего сервера, так и для отдельного каталога.

Файл .htaccess обычно находится в корне сайта. Однако можно создавать и дополнительные .htaccess-файлы для различных директорий сайта. Т.е., если файл .htaccess будет размещен в корневой директории сервера, то его действия распространяется на весь сервер, кроме тех папок, где находится другой файл .htaccess.
Однако если в каких-то папках нижнего уровня находится файл .htaccess с теми же инструкциями, что и в .htaccess верхнего уровня (корневой директории), только с иными параметрами, то выполняться будут именно они. Т.е., образуется иерархическая структура правил, которые на нижнем уровне могут быть совершенно не такими как на верхнем.

Изменения, вносимые в файл htaccess, вступают в силу немедленно и не требуют перезагрузки сервера.


Наиболее часто используемые возможности открываемые конфигурационным файлом .htaccess

  • открыть или закрыть доступ к каталогам без индексного файла;
  • запаролить директорию - ограничить доступ по логину и/или паролю (htpasswd);
  • закрыть внешние ссылки (с других сайтов) на архивы;
  • запретить доступ к файлам определенного формата, или доступ к сайту в определенный промежуток времени;
  • запретить или открыть доступ с определенных IP адресов;
  • сменить или добавить еще несколько новых названий индексного файла;
  • включить, по мере необходимости, проверку в страницах определенного формата на наличии SSI, Perl, PHP и других директив;
  • сделать редиректы - пересылку пользователя с одних адресов на другие (перенаправления пользователя на другую страницу);
  • скрыть структуру каталогов сайта отображающеюся в адресной строке браузера, или сделать её более простой и наглядной для конечного пользователя (mod_Rewrite);
  • управлять роботами - ботами поисковых систем на сайте;
  • безболезненно и незаметно перенести сайт на новый домен;
  • использовать свои собственные страницы ошибок;
  • при необходимости сменить кодировку страниц отправляемых веб-сервером посетителям;
  • запретить или нужным образом настроить кэширование веб-сервера;
  • правильно с минимальными потерями сменить имя домен сайта;
  • обучить понимать веб-сервер дополнительно нужные Вам форматы (типы) файлов.


P.S.: Поскольку файлы .htaccess нередко содержат информацию об аутентификации, доступ к ним из Интернета, обычно, запрещен из соображений безопасности. Однако можно разрешить или запретить доступ к ним самостоятельно, используя инструкции в самом файле .htaccess.