Рецепты (.htaccess)



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

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

Так как PHP работает на сервере не как модуль Apache (mod_php), а как CGI-приложение, то невозможно изменить глобальные параметры для PHP, прописанные в php.ini, с помощью файлов .htaccess.

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

AddType Directive
Description: Maps the given filename extensions onto the specified content type
Syntax: AddType MIME-type extension [extension] ...
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: Base
Module: mod_mime

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