Как получить apache для предотвращения регистрации HTTP-запросов в каталоге? Я хочу что-то сделать
<IfModule mod_userdir.c>
UserDir public_html
<Directory /home/*/public_html/nolog>
Options NoAccessLog
</Directory>
</IfModule>
Как получить apache для предотвращения регистрации HTTP-запросов в каталоге? Я хочу что-то сделать
<IfModule mod_userdir.c>
UserDir public_html
<Directory /home/*/public_html/nolog>
Options NoAccessLog
</Directory>
</IfModule>
Вы можете установить флаг среды всякий раз, когда запрашивается конкретный URL-адрес и регистрируется фильтрация на основе этого:
<IfModule mod_userdir.c>
UserDir public_html
SetEnvIf Request_URI "/nolog" dontlog
CustomLog /var/log/apache2/useraccess_log combined env=!dontlog
</IfModule>
Все связанные чтения можно найти по адресу http://httpd.apache.org/docs/2.2/env.html Раздел «Использование переменных среды - условный журнал»
Что делают эти две строки, когда клиент запрашивает URL-адрес, содержащий строку «/ nolog», он устанавливает dontlog Environment Variable.
В следующей строке опция «env =! Dontlog» сообщает директиве CustomLog для входа в клиентский доступ, если не задана переменная dontlog. ! отрицает директиву. Если вы оставите! так что он читает «env = dontlog», чем он только log access to paths, которые имеют «/ nolog» в запрошенном URL.
EDIT: я удалил ^ в "/ nolog" regexp для работы с вашим примером и добавил еще несколько объяснений.