Самым популярным на сегодняшний момент лидером среди web-серверов является Apache, хотя сотрудники Microsoft готовы всегда доказывать, что это не так. Но факт остается прежним: это бесплатный сервер, с открытыми исходными текстами и поддержкой не менее популярных технологий CGI, PHP, Perl, Java и т.д. А уж про аббревиатуру AMP(P), наверное, не слышал только самый отсталый вебмастер.
Большинство настроек сайта производятся в сервере через конфигурационные файлы (например, httpd.conf), что все-таки заставляет вспоминать об ориентации сервера на Unix/Linux, но и в среде Windows настроить эти файлы не составляет бинома Ньютона – документации кругом полно, но большинство все же на английском. Все это хорошо, но, когда сайт работает на хостинге, править эти файлы не получится – в целях защиты. Чтобы не сворачивать работу и отвлекаться на редактирование, разработчиками было придумано изящное решение проблемы: в каждый каталог можно положить дополнительный файл с именем .htaccess, который будет «перекрывать» настройки базового файла. А вот его-то можно редактировать – тем более, что действие этих настроек распространяется на все вложенные каталоги, начиная с уровня размещения. И таких файлов может быть сколь угодно много – свой для каждого каталога, к примеру.
Средства .htaccess, не являясь слишком сложными по оформлению, предоставляют огромные возможности по настройке сервера и его параметров. Их принято разделять по категориям, имеющим несколько параметров в каждой. Некоторые системные параметры из файлов.conf можно сразу размещать в этом файле. К примеру, именно через эти параметры можно «на лету» определить IP адрес посетителя, предыдущий посещенный сайт и его домен, списки кук и многое другое, что позволяет идентифицировать пользователя или сервер. Разделы таковы: обработка ошибок, обработка кодировок сайта, управление доступом, индексные страницы, различные опции языка PHP, управление паролями для каталогов, а также директоры простого и сложного перенаправления страниц.
Интересно, что изучение возможностей PHP или сервера Apache начинают с описания их установки и правки конфигурационных файлов, но о .htaccess упоминают значительно позднее, хотя нужно было бы значительно раньше, чтобы в дальнейшем не возникало множество похожих вопросов.