您到底可以在<If>
指令中放入什么?它会如何影响任何附带的Require
语句?
下面的测试配置旨在为两个文件(/var/www/data/foo.txt
和/var/www/data/bar.txt
)提供服务。apachectl configtest
报告它有效。但是,它只为 foo.txt 提供服务,并说 bar.txt 被禁止 - 为什么?
<VirtualHost *:80>
DocumentRoot /var/www/data
<Directory /var/www/data>
require all denied
# works
<Files "foo.txt">
<If true>
require all granted
</If>
</Files>
# doesn't work
<If true>
<Files "bar.txt">
require all granted
</Files>
</If>
</Directory>
</VirtualHost>