Apache httpd:If 和 Require 指令的交互

Apache httpd:If 和 Require 指令的交互

您到底可以在<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>

相关内容