如何获得apache来防止以目录为基础loginhttp请求? 我想做点什么
<IfModule mod_userdir.c> UserDir public_html <Directory /home/*/public_html/nolog> Options NoAccessLog </Directory> </IfModule>
您可以设置一个环境标志,每当请求一个特定的URL,并基于以下过滤日志logging:
<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节“使用环境variables – 条件logging”
这两条线所做的是,只要客户端请求包含string“/ nolog”的URL,就会设置环境variablesdontlog。
在下一行中,选项“env =!dontlog”告诉CustomLog指令logging客户端访问,除非设置了variablesdontlog。 那! 否定指令。 如果你会离开! 以便它读取“env = dontlog”,而不是只logging对所请求URL中具有“/ nolog”的path的访问。
编辑:我删除了“/ nolog”正则expression式与您的示例一起工作,并添加了一些更多的解释。