| Директива AllowOverride
Description: | Types of directives that are allowed in
.htaccess files |
Syntax: | AllowOverride All|None|directive-type
[directive-type] ... |
Default: | AllowOverride None (2.3.9 and later), AllowOverride All (2.3.8 and earlier) |
Context: | directory |
Status: | Core |
Module: | core |
Описание: Типы директив, которые разрешены в файлах .htaccess
Когда сервер находит .htaccess файл (как указано AccessFileName ), ему необходимо знать, какие директивы, объявленные в этом файле, могут переопределить более ранние директивы конфигурации.
Доступно только в разделах <Directory>
AllowOverride действует только в
разделах , <Directory>
указанных без регулярных выражений, а не в разделах или
разделах.
<Location> <DirectoryMatch> <Files>
Когда для этой директивы задано значение
None , файлы .htaccess полностью игнорируются. В этом случае сервер даже не будет пытаться читать файлы в файловой системе. AllowOverrideList None .htaccess
Когда для этой директивы установлено значение All , любая директива с контекстом .htaccess разрешена в
.htaccess файлах.
Тип директивы может быть одной из следующих групп директив. (См. указатель класса переопределения для получения актуального списка директив, разрешенных для каждого
типа директивы .)
- Аутконфиг
-
Разрешить использование директив авторизации (
AuthDBMGroupFile ,
AuthDBMUserFile ,
AuthGroupFile ,
AuthName ,
AuthType , AuthUserFile , Require , и т.д. ).
- Информация о файле
-
Разрешить использование директив, управляющих типами документов (
ErrorDocument ,
ForceType ,
LanguagePriority ,
SetHandler ,
SetInputFilter ,
SetOutputFilter , и
mod_mime директивы Add* и Remove*), метаданными документа ( Header , RequestHeader , SetEnvIf , SetEnvIfNoCase , BrowserMatch , CookieExpires , CookieDomain , CookieStyle , CookieTracking , CookieName ),
mod_rewrite директивами ( RewriteEngine , RewriteOptions , RewriteBase , RewriteCond , RewriteRule ),
mod_alias директивами ( Redirect , RedirectTemp , RedirectPermanent , RedirectMatch ), и
Action из
mod_actions .
- Индексы
-
Разрешить использование директив, управляющих индексацией каталогов (
AddDescription ,
AddIcon , AddIconByEncoding ,
AddIconByType ,
DefaultIcon , DirectoryIndex , FancyIndexing , HeaderName , IndexIgnore , IndexOptions , ReadmeName ,
и т.д. ).
- Ограничение
-
Разрешить использование директив, управляющих доступом к хосту (
Allow , Deny и Order ).
- Nonfatal=[Переопределить|Неизвестно|Все]
-
Разрешить использование параметра AllowOverride для обработки синтаксических ошибок в .htaccess как нефатальных. Вместо того, чтобы вызывать внутреннюю ошибку сервера, запрещенные или нераспознанные директивы будут игнорироваться, и в журнале будет зарегистрировано предупреждение:
- Nonfatal=Override рассматривает директивы, запрещенные AllowOverride, как нефатальные.
- Nonfatal=Unknown рассматривает неизвестные директивы как нефатальные. Это касается опечаток и директив, реализованных отсутствующим модулем.
- Nonfatal=All рассматривает оба вышеуказанных варианта как нефатальные.
Обратите внимание, что синтаксическая ошибка в действительной директиве все равно вызовет внутреннюю ошибку сервера.
Безопасность
Нефатальные ошибки могут иметь последствия для безопасности пользователей .htaccess. Например, если AllowOverride запрещает AuthConfig, конфигурация пользователей, предназначенная для ограничения доступа к сайту, будет отключена.
- Опции[= Опция ,...]
-
Разрешить использование директив, управляющих определенными функциями каталога (
Options и
XBitHack ). Может быть указан знак равенства, за которым следует список через запятую без пробелов опций, которые можно установить с помощью команды Options .
Неявное отключение опций
Несмотря на то, что список опций, которые могут использоваться в файлах .htaccess, может быть ограничен этой директивой, пока Options разрешена любая директива, любая другая унаследованная опция может быть отключена с помощью неотносительного синтаксиса. Другими словами, этот механизм не может заставить определенный параметр оставаться установленным , позволяя устанавливать любые другие.
AllowOverride Options=Indexes,MultiViews
Пример:
AllowOverride AuthConfig Indexes
В приведенном выше примере все директивы, которые не входят ни в группу,
AuthConfig ни Indexes вызывают внутреннюю ошибку сервера.
Из соображений безопасности и производительности не устанавливайте
AllowOverride ничего, кроме None
вашего <Directory "/"> блока. Вместо этого найдите (или создайте) <Directory> блок, который ссылается на каталог, в который вы на самом деле планируете поместить
.htaccess файл.
Смотрите также
-
AccessFileName
-
AllowOverrideList
- Файлы конфигурации
- .htaccess файлы
- Переопределить индекс класса для .htaccess
|
|