Дерево страниц

Общие сведения

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

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

Настройки в .htaccess задаются различными директивами, которые далее обрабатываются и выполняются веб-сервером. С помощью .htaccess можно настраивать перенаправления, управлять опциями PHP, устанавливать разрешения и права доступа к файлам, задавать собственные страницы ошибок и выполнять множество других действий.

Создание и редактирование .htaccess

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

1. Перейдите в раздел "Файловый менеджер" панели управления.

2. Выберите пункт меню "Файл" - "Новый файл".

3. Выберите из списка расширений .htaccess.

4. Нажмите кнопку "Создать файл".

Возникновение ошибки "Имя уже используется" означает, что данный файл уже создан в текущей директории.

Для редактирования файла в файловом менеджере перейдите в директорию с данным файлом, выделите его кликом левой кнопки мыши и выберите пункт меню "Файл" - "Редактировать".

В открывшейся форме редактирования можно внести необходимые изменения в файл конфигурации: добавить или удалить директивы. Также можно закомментировать неиспользуемые настройки, для этого необходимо добавить в начале строки символ #. Настройки, указанные в таких строках, учитываться не будут.

Вы также можете редактировать .htaccess во внешних редакторах, но обратите внимание, что текстовые редакторы Windows (например, "Блокнот") при сохранении любых документов с кодировкой UTF-8 добавляют в них метки порядков байтов юникода - BOM-сигнатуры. Файлы с такой сигнатурой некорректно обрабатываются веб-сервером, поэтому мы рекомендуем редактировать .htaccess напрямую в "Файловом менеджере" или через специальный редактор "Notepad++".

Наверх

Примеры настроек

Настройка перенаправлений и опций php рассмотрена в отдельных статьях:

Типовые перенаправления

Настройка параметров PHP

Здесь мы рассмотрим еще несколько полезных директив.

Управление доступом к сайту

Разрешить или ограничить доступ к сайту для определенных IPv4-адресов можно с помощью директив Order Allow,Deny или Require. В новых версиях Apache, начиная с 2.4, которая используется на наших хостинговых серверах, рекомендуется использовать именно Require.

Обратите внимание, что в рамках нашей архитектуры директивы запрета доступа не будут работать для IPv6. Для запрета доступа с IPv6-адресов необходимо удалить АААА-запись домена.

Разрешить доступ конкретным IP (для остальных доступ запрещен):

Несколько IP-адресов могут указываться через пробел или отдельными директивами, каждая в новой строке.

Запретить доступ конкретным IP (для остальных доступ разрешен). Для работы запрещающих директивы, их необходимо заключать в блоки <RequireAll>:

При использовании Allow,Deny:

Разрешить доступ всем, кроме конкретного IP:

Запретить доступ всем, кроме конкретного IP:

Запретить доступ для всех:

Аналогичным образом можно настроить доступ к конкретным файлам, включив эти директивы в блоки <Files>, например:

Наверх

Блокировка запросов по User-Agent


Можно ограничить доступ к сайту для определенных User-Agent. Например, при нежелательной активности ботов MJ12bot и SolomonoBot, используйте:

Наверх

Ограничения по видам запросов

Для применения ограничений для определенных методов запросов можно использовать блоки <Limit>:

Для новых версий Apache, начиная с 2.4, оптимально использовать директивы Require и заключать их в блоки <RequireAll>:

Наверх

Индексная страница по умолчанию

Директива DirectoryIndex позволит Вам указать страницу, которая будет отдаваться по умолчанию при обращении к директории, например:

Вы также можете указать несколько страниц, в этом случае сервер "пройдет" по списку слева направо и отобразит первую доступную страницу:

Наверх

Собственные страницы ошибок

С помощью директивы ErrorDocument Вы можете сообщить веб-серверу, какая страница должна отдаваться клиенту в случае возникновения определенной ошибки (403, 404, 500 и др.). Для этого необходимо указать номер ошибки и адрес нужной страницы:

Вы можете хранить файлы этих страниц как в корне сайта, так и в специально созданной папке, например, errors.

Наверх

Кодировка

Указать кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц можно с помощью AddDefaultCharset, например:

При использовании PHP версии 5.6 и выше может потребоваться дополнительно указать:

Наверх

Отображение листинга (содержимого директории)

Если индексный файл запрашиваемой клиентом директории недоступен, будет выведена ошибка "403 Forbidden". Если вместо этого необходимо отображение содержимого директории, потребуется добавить в .htaccess директиву:

Наверх