From owner-freebsd-questions@FreeBSD.ORG Wed Nov 5 06:33:49 2008 Return-Path: Delivered-To: questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 543D11065677 for ; Wed, 5 Nov 2008 06:33:49 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from sola.nimnet.asn.au (paqi.nimnet.asn.au [220.233.188.227]) by mx1.freebsd.org (Postfix) with ESMTP id B86AB8FC17 for ; Wed, 5 Nov 2008 06:33:48 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from localhost (localhost [127.0.0.1]) by sola.nimnet.asn.au (8.14.2/8.14.2) with ESMTP id mA56Xk5N027920 for ; Wed, 5 Nov 2008 17:33:46 +1100 (EST) (envelope-from smithi@nimnet.asn.au) Date: Wed, 5 Nov 2008 17:33:45 +1100 (EST) From: Ian Smith To: questions@freebsd.org Message-ID: <20081105170631.O70117@sola.nimnet.asn.au> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Subject: Apache environment variables - logical AND X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Nov 2008 06:33:49 -0000 I know this isn't FreeBSD specific - but I am, so crave your indulgence. Running Apache 1.3.27, using a fairly extensive access.conf to beat off the most rapacious robots and such, using mostly BrowserMatch[NoCase] and SetEnvIf to moderate access to several virtual hosts. No problem. OR conditions are of course straighforward: SetEnvIf somevar SetEnvIf somevar SetEnvIf !somevar What I can't figure out is how to set a variable3 if and only if both variable1 AND variable2 are set. Eg: SetEnvIf Referer "^$" no_referer SetEnvIf User-Agent "^$" no_browser I want the equivalent for this (invalid and totally fanciful) match: SetEnvIf (no_browser AND no_referer) go_away Any clues? cheers, Ian