По умолчанию Apache предотвращает доступ к файлам .htaccess и .htpasswd с помощью этой директивы в apache2.conf.
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
При любом запросе любого подходящего файла в журнале ошибок появляется строка.
authz_core:error AH01630: client denied by server configuration: /.html
Я просто хочу записать такие ошибки в отдельный файл журнала, но Apache не принимает эту директиву:
<FilesMatch "^\.ht">
ErrorLog ${APACHE_LOG_DIR}/separate.log
Require all denied
</FilesMatch>
AH00526: Синтаксическая ошибка ErrorLog здесь не допускается
Итак, каков правильный синтаксис для записи этих запросов в отдельный файл?
Попробуйте что-нибудь в этом роде:
Установите переменную среды с помощью SetEnvIf
и используйте это как условие для условного оператора журнала. Пример из документы:
SetEnvIf Request_URI \.gif$ gif-image
CustomLog "gif-requests.log" common env=gif-image
При этом все запросы gif будут записываться в специальный файл журнала.