我的 apache 的 security.conf 文件中有以下代码
<DirectoryMatch "/(albums|attachment(s)?|upload(s)?)">
Options -ExecCGI
<IfModule php5_module>
php_flag engine off
</IfModule>
</DirectoryMatch>
这是为了防止 php 在这些目录内的任何文件上执行。
但是,如果我有此代码,则名为 attachment.php 的文件也不会执行 PHP 代码。我可以修改正则表达式以不包含 attachment.php 文件。但是,问题是为什么上述 DirectoryMatch 会导致我的文件无法执行。
例如路径:
文档根目录:/var/www/html
上传/附件目录:
/var/www/uploads
/var/www/uploads/attachments
/var/www/uploads/albums
/var/www/html/attachments
attachment.php 文件:/var/www/html/attachment.php