Apache2 VirtualHost <directory>指令是否级联?

时间:2019-02-22 17:44:33

标签: .htaccess http server virtualhost apache2.4

我觉得这个问题一定已经问过了,但是我什么也找不到。

如果我有一个带有两个单独的<Directory>指令的简单VirtualHost:

<VirtualHost *:80>
    ...
    <Directory /var/www>
        Require all granted
        Options -Indexes
    </Directory>

    <Directory /var/www/api> # does the order matter?
        Require local
        Options -Indexes # is this redundant?
    </Directory>
    ...
</VirtualHost>

我的问题是:

  • 指令的顺序重要吗?如果首先使用/var/www/api指令会发生什么?
  • 第二个Options -Indexes是否多余?
  • 设置是否级联,因为/var/www/api/var/www的子目录?

1 个答案:

答案 0 :(得分:0)

请参阅section mergingDirectory directive上的官方文档(感谢@emix)

  • 是的,第二个Options -Indexes是多余的,因为Options -Indexes的{​​{1}}设置是继承的。
    • 可以覆盖继承的设置,例如/var/www的{​​{1}}规则将显示索引。
  • 指令的顺序似乎无关紧要。规则似乎是按目录结构级联的,而不是指令本身的顺序。
  • 是的,Options +Indexes的设置是级联的,因为/var/www/api是一个子目录。