Apache. Документация на русском


Директивы Apache
  1    2    3    4    5    6    7    8    9    10    11    12    13    14      15      16    17    18    19    20    21    22    23    24    25    26    27    28    29    30    31    32    33    34    35    36    37    38    39    40    41    42    43    44    45    46    47    48    49    50    51    52    53    54    55    56    57    58    59    60    61    62    63    64    65    66    67    68    69    70    71    72    73    74    75    76    77    78    79    80    81    82    83    84    85  
  86    87    88    89    90    91    92  
  93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115    116    117    118    119    120    121    122    123    124    125    126    127    128    129    130    131    132    133    134    135    136    137    138    139    140    141    142    143    144    145    146    147    148    149    150    151    152    153    154    155    156    157    158    159    160    161    162    163    164    165  
  166    167    168    169    170    171    172    173    174    175    176    177    178    179    180    181    182    183    184    185    186    187    188    189    190    191    192    193    194    195    196    197    198    199    200    201    202    203    204    205    206    207    208    209    210    211    212    213    214    215    216    217    218    219    220    221    222    223    224    225    226    227    228    229    230    231    232    233    234    235    236    237    238    239    240    241    242  

 <         > 
Список директив: Core  |  ModRewrite  |  Lua  |  Proxy  |  SSL

Директива Directory
  RU            EN  

Description:Enclose a group of directives that apply only to the named file-system directory, sub-directories, and their contents.
Syntax: <Directory directory-path> ... </Directory>
Context:server config, virtual host
Status:Core
Module:core

Описание: Заключите группу директив, которые применяются только к указанному каталогу файловой системы, подкаталогам и их содержимому


<Directory> и </Directory> используются для включения группы директив, которые будут применяться только к именованному каталогу, подкаталогам этого каталога и файлам в соответствующих каталогах. Можно использовать любую директиву, разрешенную в контексте каталога. Directory-path — это либо полный путь к каталогу, либо строка с подстановочными знаками, использующая сопоставление в стиле оболочки Unix. В строке с подстановочными знаками ? соответствует любому одиночному символу и * соответствует любой последовательности символов. Вы также можете использовать [] диапазоны символов. Ни один из подстановочных знаков не соответствует символу `/', поэтому <Directory "/*/public_html"> не будет соответствовать /home/user/public_html , но <Directory "/home/*/public_html"> будет соответствовать. Пример:

<Directory "/usr/local/httpd/htdocs">
 Options Indexes FollowSymLinks
</Directory>

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

Будьте осторожны с аргументами пути к каталогу : они должны буквально совпадать с путем файловой системы, который Apache httpd использует для доступа к файлам. Директивы, применяемые к конкретному файлу, <Directory> не будут применяться к файлам, доступ к которым осуществляется из того же каталога по другому пути, например, по разным символическим ссылкам.

Также можно использовать регулярные выражения с добавлением символа ~ . Например:

<Directory ~ "^/www/[0-9]{3}">
</Directory>

будет соответствовать каталогам, /www/ состоящим из трех чисел.

Если несколько разделов (не регулярных выражений) <Directory> соответствуют каталогу (или одному из его родителей), содержащему документ, то директивы применяются в порядке кратчайшего соответствия, чередуясь с директивами из файлов .htaccess. Например, с

<Directory "/">
 AllowOverride None
</Directory>
<Directory "/home">
 AllowOverride FileInfo
</Directory>

для доступа к документу /home/web/dir/doc.html выполните следующие действия:

  • Применить директиву AllowOverride None (отключение .htaccess файлов).
  • Применить директиву AllowOverride FileInfo (для каталога /home ).
  • Примените любые FileInfo директивы в /home/.htaccess , /home/web/.htaccess и /home/web/dir/.htaccess в этом порядке.

Регулярные выражения не учитываются до тех пор, пока не будут применены все нормальные разделы. Затем проверяются все регулярные выражения в том порядке, в котором они указаны в файле конфигурации. Например, с

<Directory ~ "abc$">
 # ... directives here ...
</Directory>

раздел регулярных выражений не будет рассматриваться до тех пор, пока не будут применены все обычные <Directory> s и файлы. .htaccess Затем регулярное выражение совпадет и будет применено /home/abc/public_html/abc соответствующее . <Directory>

Обратите внимание, что доступ по умолчанию для <Directory "/"> разрешает полный доступ. Это означает, что Apache httpd будет обслуживать любой файл, сопоставленный с URL-адресом. Рекомендуется изменить это с помощью блока, такого как

<Directory "/">
 Require all denied
</Directory>

а затем переопределите это для каталогов, которые вы хотите сделать доступными. Дополнительные сведения см. на странице Советы по безопасности.

Разделы каталога находятся в apache2.conf файле. <Directory> директивы не могут вкладываться друг в друга и не могут появляться в разделе <Limit> или <LimitExcept> .

Смотрите также

  • Как работают разделы <Directory>, <Location> и <Files> для объяснения того, как эти разные разделы объединяются при получении запроса.
  RU            EN  


Рейтинг@Mail.ru