Назад | Перейти на главную страницу

Как отключить журнал apache для отсутствия файла изображения?

Как мы можем указать файл расширений, чтобы отфильтровать его в журнале ошибок apache?

Мой error.log заполняется:

[Чт, 27 ноября, 22:42:42 2014] [ошибка] [клиент 42.42.42.42] Файл не существует: /var/www/site/images/foo.PNG

В моем случае я хочу, чтобы файлы .png, .jpg, .gif не попадали в журнал ошибок, когда они отсутствуют.

Как я могу это сделать?

Лучше всего, конечно, исправить содержимое сайта, чтобы не было неработающих ссылок на изображения;)

Что касается ErrorLog:

Невозможно настроить журнал ошибок, добавляя или удаляя информацию.

Таким образом, вы не можете исключить конкретные сообщения об ошибках. Вы можете увеличить или уменьшить уровень детализации ErrorLog с помощью LogLevel директива хотя. Например:

LogLevel crit
ErrorLog error_log

Лучшим вариантом может быть установка правила перезаписи, которое перенаправляет сломанное изображение на стандартное изображение, например.

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} \.(gif|jpg|jpeg|png)$ 
RewriteRule (.*) /images/broken-image.png [L]

Быстро и грязно:

команда оболочки, которая исправит ErrorLog (который вы не можете настроить)

touch /var/www/site/images/foo.PNG

Чтобы этот пустой файл не отображался в вашем CustomLog, используйте:

SetEnvIfNoCase Request_URI "foo\.png$" dontlog
CustomLog log/access_example.com.log env=!dontlog