Apache и .htaccess

Самый популярный и распространенный в Интернете веб-сервер, по крайней мере в среде UNIX — сервер Apache. Это программа, которая осуществляет прием запросов по протоколу http, их обработку и передачу посетителю сервера ответа в виде запрошенных им html-документов, картинок и файлов.

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 его использование совершенно безопасно и очень здорово расширяет возможности сайта.

 

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: