Web-server Apache

Печать

1.4.2. Ограничение диапазона действия директив с помощью файлов .htaccess

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

Чтобы директивы, указанные в файле .htaccess, заработали, сервер Apache должен знать, что такие файлы существуют и что он должен их найти. Это можно осуществить с помощью директивы AllowOverride. Однако функциональная нагрузка директивы AllowOverride заключается не только во включении —отключении. С ее помощью можно определить, какие типы директив могут быть указаны в файле .htaccess. Возможные варианты указаны в табл. 1.1.

Таблица 1.1. Директива AllowOverride Опции Действие

АИ Разрешает использование всех директив

None Запрещает использование всех директив. Поиск файлов невозможен

AuthConfig Разрешает использование директив AuthDBMGroupFile,

AuthDBMUserFile, AuthGroupFile,AuthName, AuthType, Auth U serFile , require

Filelnfo Разрешает использование директив AddEncoding, AddLanguage,

AddType, DefaulType, ErrorDocument, LanguagePriorty

Indexes Разрешает использование директив AddDescription, Addlcon,

AddlconByEncoding, AddlconByType, Defaultlcon, Directorylndex, Fancylndexing, HeaderName, Indexlgnore, IndexOptions, ReadMeName

Limit Разрешает использование директив allow, deny и order

Options Разрешает использование директив options иХВйНаск

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

AllowOverride Options Filelnfo

То, что файлы .htaccess влияют на подкаталоги так же, как и на каталоги, в которых они размещаются, означает, что, когда кто-либо пытается получить доступ к файлам в каталоге /home/site2/cgi-bin, сервер Apache сначала ищет файл с именем .htaccess (или как он быками назван) в упомянутом каталоге и во всех каталогах, находящихся в иерархическом дереве над данным каталогом. Как можно догадаться, такая процедура сильно снижает производительность сервера. Поэтому, если нет настоятельной необходимости в файлах .htaccess, их использование следует запретить следующим образом:

AllowOverride none

<