Apache2 - где находится в файле конфигурации?

Почему в моем конфигурационном файле Apache2 нет <location>?

$ sudo nano /etc/apache2/apache2.conf

Я могу найти <Directory /> следующим образом:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
</Directory>

Но я не могу найти вообще , Я пытаюсь разрешить OPTIONS DELETE PUT методы следующим образом:

<Location "/">
    AllowMethods GET POST OPTIONS DELETE PUT
    Require all granted
</Location>

Моя версия Apache:

$ apache2 -v
Server version: Apache/2.4.38 (Ubuntu)
Server built:   2019-08-26T13:31:40

Любые идеи, как добавить AllowMethods GET POST OPTIONS DELETE PUT?

1
задан 9 September 2019 в 23:47

1 ответ

Поскольку <Location> директивы подходят для определенных потребностей (правила), и такие правила не подходят ни для какой конфигурации по умолчанию :)

<Location> директива ограничивает объем прилагаемых директив URL. Это подобно <Directory> директива, и запускает подраздел, который завершается с a </Location> директива. <Location> разделы обрабатываются в порядке, они появляются в конфигурационном файле, после <Directory> разделы и .htaccess файлы читаются, и после <Files> разделы.

<Location> разделы работают полностью вне файловой системы. Это имеет несколько последствий. Самое главное, <Location> директивы не должны использоваться для управления доступом к местоположениям файловой системы. Так как несколько различных URL могут отобразиться на то же местоположение файловой системы, такой май средств управления доступом обошедшим.

<Directory /> директива относится к корню / из файловой системы. В другой руке <Location /> относится к основному URI - http://example.com/, где example.com ServerName из виртуального хоста. Так правила, записанные для <Location /> переопределит правила, записанные для <Directory /var/www/html>, где /var/www/html DocumentRoot из конкретного виртуального хоста.

1
ответ дан 7 December 2019 в 14:58

Другие вопросы по тегам:

Похожие вопросы: