默认情况下,Apache 使用 apache2.conf 中的此指令阻止访问 .htaccess 和 .htpasswd 文件
<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 此处不允许
那么,将这些请求记录在单独的文件中的正确语法是什么?
答案1
尝试以下方法:
设置环境变量并将SetEnvIf
其用作条件日志语句的条件。示例来自文档:
SetEnvIf Request_URI \.gif$ gif-image
CustomLog "gif-requests.log" common env=gif-image
这会将所有 gif 请求记录到一个特殊的日志文件中。