Apache2 VirtualHost <Directory> 指令级联吗?
Do Apache2 VirtualHost <Directory> directives cascade?
我觉得这个问题以前肯定有人问过,但我找不到任何东西。
如果我有一个带有两个单独 <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
的子目录,所以设置级联吗?
参见 section merging and the Directory directive 的官方文档(感谢 @emix)
- 是的,第二个
Options -Indexes
是多余的,因为 /var/www
的 Options -Indexes
设置是继承的。
- 可以覆盖继承的设置,例如
Options +Indexes
/var/www/api
的规则将显示索引。
- 指令的顺序似乎并不重要。规则似乎按目录结构级联,而不是指令本身的顺序。
- 是的,
/var/www
级联的设置,因为/var/www/api
是一个子目录。
我觉得这个问题以前肯定有人问过,但我找不到任何东西。
如果我有一个带有两个单独 <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
的子目录,所以设置级联吗?
参见 section merging and the Directory directive 的官方文档(感谢 @emix)
- 是的,第二个
Options -Indexes
是多余的,因为/var/www
的Options -Indexes
设置是继承的。- 可以覆盖继承的设置,例如
Options +Indexes
/var/www/api
的规则将显示索引。
- 可以覆盖继承的设置,例如
- 指令的顺序似乎并不重要。规则似乎按目录结构级联,而不是指令本身的顺序。
- 是的,
/var/www
级联的设置,因为/var/www/api
是一个子目录。