SharePoint Alfresco PHP MySQL
О сайте Контакты
суббота, 27 февраля 2016 г.

Как в Apache отключить лог css, js и прочей статики

Каждый сайт, работающий на Apache, по умолчанию настроен так, что все обращения к нему записываются в Access.log. Этот лог полезно иногда читать, чтобы знать, кто и куда обращается и выявлять потенциальные атаки. Но зачастую Access.log настолько большой, что обрабатывать его неудобно и долго, да и хранить на сервере большой файл тоже накладно. Возникла идея не логгировать обращения к CSS, JS и прочей статике, ведь такая информация практически никогда не нужна.

В htaccess или конфиге апача нужно создать переменную среды, которая будет включаться, когда идет обращение к нашей статике. В настройках лога нужно просто указать, что лог должен срабатывать только при наличии этой переменной. Такая простая настройка:

# Не логгировать обращения к статическим файлам
SetEnvIf Request_URI "\.(jpg|xml|png|gif|ico|js|css|swf|js?.|css?.)$" dontlog

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog

Думаю, отсюда понятен весь смысл. Берите, копируйте на свой сайт, изменяя по вкусу :) Производительность даже должна немного вырасти, ведь теперь серверу не надо писать в лог, что кто-то там скачал CSS, и он просто отдаст ему этот CSS.

Sergey Lysenko, суббота, 27 февраля 2016 г.

Комментарии: