Описание синтаксиса и примеры работы с .htaccess

В подавляющем большинстве случаев для хостинга используется веб-сервер Apache. Это программа, которая осуществляет прием http-запросов, их обработку и выдачу посетителю сервера конечного результата - html-документов, картинок, файлов и так далее. Домашняя страница проекта Apache - http://www.apache.org/.

Файл .htaccess позволяет индивидуально настраивать работу веб-сервера для вашего сайта. Можно устанавливать пароли для доступа к странице или целой папке, устанавливать страницу, выдаваемую по умолчанию при запросе к каталогу, и многие другие.

Вы можете создавать несколько файлов .htaccess — по одному для каждой директории на вашем сайте.

При изменении в файле .htaccess нет необходимости перезапускать сервер — как только вы поменяли что-то в этом файле, изменения тут же вступают в силу. Даже если вы допустите ошибки в этом файле, то они отразятся только на вашем сайте (или на той его директории, в которой он расположен).

Если файл .htaccess расположен в корневой директории сервера, то его действия распространяются на весь сервер, кроме тех директорий, где находится другой файл .htaccess (и кроме всех папок "ниже" этой папки со вторым .htaccess).

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

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

Учитывая эти реалии, а также стремясь добавить в Apache возможности более гибкой настройки, авторы этого веб-сервера реализовали допустимость децентрализованного управления конфигурацией с помощью использования специальных файлов, которые помещаются на диске прямо в веб-пространстве виртуального сервера. Эти файлы обычно называются .htaccess (обратите внимание на первый символ в названии файла - точку), но администратор сервера может менять имя таких файлов по своему желанию с помощью директивы AccessFileName в главном файле конфигурации.

Действие команд из файла .htaccess распространяется и на подкаталоги того каталога, в котором этот файл размещен. Файл .htaccess перечитывается при каждом обращении к веб-серверу, так что изменения, внесенные в этот файл, вступают в силу немедленно.

Синтаксис файлов .htaccess в общем случае аналогичен синтаксису главного файла конфигурации. Однако, администратор может ограничивать для пользователей доступ к тем или иным директивам. То есть, несмотря на то, что команда, в принципе, может исполняться из .htaccess, администратор может запретить доступ к конкретной директиве. Учитывайте это при работе.

Действие .htaccess автоматически распространяется на все вложенные директории.

• пути к файлам (директориям) указываются от корня сервера.

Правильный пример:

DirectoryIndex /home/st1331/www/data/main.html

Ошибка:

DirectoryIndex /www/news/main.html

• Адресация к документам, расположенным на других сайтах должно выполняться с указанием протокола

Правильный пример:

Redirect /oldsite/ http://www.site.ru/

Ошибка:

Redirect /oldsite/ www.site.ru/

Комментарии - строки, начинающиеся с символа #.

В выражениях можно использовать переменные окружения, например %{REMOTE_ADDR} или %{HTTP_REFERER}.
• Файл .htaccess должен быть записан в UNIX-формате — это означает что перевод строки должен задаваться в нем одним символом (0x0A), а не двумя (0x0D 0x0A), как в DOS или Windows
  • 3 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

На всех сайтах выскакивает .htaccess. Там написано введите логин secure пароль pass

«http://domen.ru» запрашивает имя пользователя и пароль. Сайт сообщает: «Login: secure Password:...

Общая информация о кодах ответов сервера

В строке ответа HTTP-сервера содержится информация о результате выполненного запроса. Эта...

Словарь терминов

Домен - централизованно администрируемая область пространства доменных имен в DNS. DNS - доменная...

Powered by WHMCompleteSolution