Apache <files>和<filesmatch>限制范围在httpd.conf </filesmatch> </files>中

时间:2014-02-07 10:17:52

标签: php apache security httpd.conf

由于不允许使用此语法:

<Files /path/to/the/file.php>
  Options +ExecCGI
</Files>

有没有办法在httpd.conf中限制<Files><FileMatch>指令的范围 所以它不会传播到子目录?

我试过了:

<Directory /path/to/the>
  Options -ExecCGI
  <Files file.php>
    Options +ExecCGI
  </Files>
</Directory>

单独使用附加规则:

<Directory /path/to/the/*>
  Options -ExecCGI
</Directory>

然而,这会传播到路径中的所有目录。

此类用法的一个示例是默认情况下禁用ExecCGI选项,并允许它选择性地选择文件,而不需要在每个目录中使用.htaccess文件。

如果您打算使用.htaccess解决方案,请不要回复。

编辑:我被解释说自2.4以来可以使用DirectoryMatch和美元标记语法来处理这个问题(下面的例子),但我无法做到工作

<DirectoryMatch "^/path/to/the$">
  Options -ExecCGI
  <Files file.php>
    Options +ExecCGI
  </Files>
</DirectoryMatch>

0 个答案:

没有答案