Você não pode fazer isso de dentro do apache. O método mais fácil seria enviar os logs para um script de filtro em vez de diretamente para um arquivo.
No meu site Ruby on Rails hospedado na Apache, um endereço IP (sempre idêntico) da Rússia estava martelando o site a cada vinte minutos, com base nas solicitações de caminho que eu acho que está tentando procurar formulários de comentários para enviar comentários de spam.
De qualquer forma, fiz o seguinte no meu arquivo .htaccess para inicializá-los completamente enquanto permitia a todos os outros ...
Order Allow,Deny
Deny from XX.XX.XX.XXX
Allow from all
Então funcionou, o IP deles não aparece mais nos meus logs do Rails e eles não podem acessar o site. No entanto, o log de erros do site na pasta / var / log / apache2 continua a acumular o mesmo erro pelo IP proibido ...
[Thu Jun 30 09:11:37 2011] [error] [client XX.XX.XX.XXX] client denied by server configuration: /srv/[...]
É óbvio para que serve o erro, mas não acho que seja necessário continuar gravando que esse IP foi bloqueado, quero manter meu arquivo de erros limpo para outros erros legítimos. Como posso impedir que os logs gravem isso?
Você não pode fazer isso de dentro do apache. O método mais fácil seria enviar os logs para um script de filtro em vez de diretamente para um arquivo.