Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您可以使用htaccess或在虚拟主机设置中禁用单个站点的apache日志吗?_Apache_.htaccess_Logging - Fatal编程技术网

您可以使用htaccess或在虚拟主机设置中禁用单个站点的apache日志吗?

您可以使用htaccess或在虚拟主机设置中禁用单个站点的apache日志吗?,apache,.htaccess,logging,Apache,.htaccess,Logging,我在一个网站上工作,客户出于隐私原因不想登录该网站。该网站将与许多其他网站托管在同一个Apache Web服务器上,这就是为什么我可以在Apache中关闭登录。是否有某种方法可以使用htaccess规则或通过向VirtualHost设置中添加内容来禁用单个站点的日志记录?是的,只需在虚拟主机的httpd conf中注释掉(使用“#”)错误日志和自定义日志条目即可 选项似乎是 在Windows上发送到*nix或C:/nul上的/dev/null() 删除基本日志指令并在每个vhost中复制它们(因

我在一个网站上工作,客户出于隐私原因不想登录该网站。该网站将与许多其他网站托管在同一个Apache Web服务器上,这就是为什么我可以在Apache中关闭登录。是否有某种方法可以使用htaccess规则或通过向VirtualHost设置中添加内容来禁用单个站点的日志记录?

是的,只需在虚拟主机的httpd conf中注释掉(使用“#”)错误日志和自定义日志条目即可

选项似乎是

  • 在Windows上发送到*nix或C:/nul上的/dev/null()
  • 删除基本日志指令并在每个vhost中复制它们(因此默认情况下vhost没有登录)

  • 似乎应该有更好的方法来做到这一点,但这就是我发现的。

    我通过使日志依赖于一个不存在的环境变量来实现这一点。因此,在
    VirtualHost
    中,您可以:

    CustomLog /var/log/httpd/my_access_log combined env=DISABLED
    
    只要没有名为
    DISABLED
    的环境变量,您就不会得到任何日志

    事实上,我来到这里是为了寻找一个更整洁的解决方案,但这不需要更改全局
    httpd.conf


    编辑:删除了对
    .htaccess
    的引用,因为
    CustomLog
    仅适用于全局配置或@Basj

    指出的虚拟主机配置,该配置可用于禁用整个web服务器的日志记录,这将起作用,但我希望能够逐个站点执行。更多信息请参阅“条件日志记录”部分,这似乎不适用于
    .htacess
    ,仅适用于全局配置或虚拟主机: