1

Я новичок в Apache. Я хочу понять httpd.conf и внести небольшие изменения.

DocumentRoot "/opt/www"

<Directory />
   Options FollowSymLinks
   AllowOverride None
</Directory>

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Веб-приложение находится по адресу /opt /www. Какова цель написания " <Directory />.. "? Обрабатывает ли это что-то о разрешении посещения "/" на сервере?

Но DocumentRoot установлен как /opt /www. А как насчет <Directory "/var/www/html">?

Я полностью сбит с толку.

1 ответ1

2

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

Заданные параметры будут унаследованы элементами внутри этих каталогов. Затем вы можете дополнительно определить конфигурацию для вложенных элементов. Как это делается для /var/www/html . Основное изменение конфигурации здесь, по-видимому, заключается в добавлении опции Indexes для этого каталога (для каталогов выше этого параметра эта опция не будет включена).

В общем случае вы обычно сталкиваетесь с двумя типами директив, которые обертывают другие директивы в файле конфигурации Apache HTTPD. <Directory> и <Location>.

В обоих случаях они обычно определяют область действия других директив.

<Directory> относится к местоположению в вашей локальной файловой системе. <Location> относится к части URL, используемой для доступа к определенному местоположению через HTTPD.

Цитировать из документации Apache HTTPD:

Когда использовать <Location>

Используйте <Location> для применения директив к контенту, который находится за пределами файловой системы. Для содержимого, которое находится в файловой системе, используйте <Directory> и <Files>. Исключением является <Location /> , который является простым способом применить конфигурацию ко всему серверу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .