Apache настраивается через файл конфигурации (httpd.conf), в который администратор помещает инструкции, управляющие функционированием веб-сервера.
Как правило, администраторы сервера не допускают программистов, создающих на сервере сайты, к настройкам httpd.conf. Тем более, невозможно это на серверах хостинговых компаний.
Но веб-программист все-таки может настроить сервер для нужд своего сайта. В Apache есть великолепная возможность децентрализованного управления конфигурацией с помощью использования специальных файлов, которые помещаются на диске прямо в веб-пространстве виртуального сервера. Эти файлы называются .htaccess (обязательно первый символ в названии файла — точка). Администратор сервера может менять имя таких файлов по своему желанию с помощью директивы AccessFileName в главном файле конфигурации, но это как правило не делается — .htaccess он везде .htaccess.
Действие директив из файла .htaccess распространяется и на подкаталоги того каталога, в котором этот файл размещен. Но если в каталоге есть свой .htaccess, то его директивы перекрывают действие директив файла из внешнего каталога. Файл .htaccess перечитывается при каждом обращении к веб-серверу, так что изменения, внесенные в этот файл, вступают в силу немедленно. Сервер не надо перезапускать, а настройки .htaccess никаким образом не затрагивают другие виртуальные сервера.
Синтаксис файлов .htaccess аналогичен синтаксису файла конфигурации httpd.conf. Однако, администратор может ограничивать с помощью директивы AllowOverride для пользователей доступ к тем или иным директивам в htaccess. Так, на хостингах, как правило запрещают изменять с помощью .htaccess директивы категории limit — например, максимальный срок выполнения php-скриптов (30 сек.) и максимальный размер загружаемого файла (2 Мб).
Поскольку файл .htaccess является служебным, то он не должен быть доступен веб-пользователю из браузера. По умолчанию сервер конфигурируется именно так, но если администратор решил переименовать .htaccess во что-то другое, то невозможность его просмотра через браузер администратору придется настраивать отдельно.
Считается, что использование файла .htaccess тормозит работу сервера и замедляет выдачу сайта пользователю. Это действительно так, но это замедление пренебрежимо мало, а уж в сравнении с той пользой, которую приносит использование этого файла, столь ничтожным «торможением» можно и вовсе пренебречь.
Ошибка в файле .htaccess вызывает код ответа 500 — Internal Server Error.
На всех серьезных хостингах использование файла .htaccess разрешено, как правило лишь с небольшими ограничениями. К сожалению, на небольших серверах в различных организациях администраторы очень любят запрещать использование .htaccess, то-ли из-за паранойи в ожидании хакеров, то-ли просто от греха подальше. Хотя, при грамотных настройках httpd.conf и самого .htaccess его использование совершенно безопасно и очень здорово расширяет возможности сайта.