Ответ 1
Это был правильный способ сделать это: (благодаря DaveRandom)
<Directory "C:/SITE/localhost/www">
Options ExecCGI
AllowOverride all
Require all granted
</Directory>
Dave Random объясняет далее:
После небольшого эксперимента с этим я обнаружил нюанс, который делает правильный ответ, характерный для Apache 2.3+. Похоже, что директивы
mod_authz_host
имеют приоритет над директивамиmod_access_compat
, и это пузырится по всему дереву каталогов. Это означает, что, если вы переходите с Apache 2.2 на Apache 2.4 и используете дословный текст версии 2.2httpd.conf
, он будет работать.Если, однако, вы выполняете новую установку 2.4 и основываете свою конфигурацию по умолчанию, директивы 2.4
httpd.conf
,Allow
не будут работать, потому что в разделе верхнего уровня по умолчанию используется директиваRequire all denied
вместоDeny from all
, и это имеет приоритет над любыми последующими директивамиAllow
выше дерева. Достаточно того, что если вы переносите свои ордера Order/Allow/Deny в их эквивалентные Requires, то вы должны случайно их всех или вы обнаружите, что получаете 403, которых вы не ожидали.