由于不允许使用此语法:
<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>