<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
<modulesynopsis metafile="mod_setenvif.xml.meta">
<name>mod_setenvif</name>
<description>Setzen von Umgebungsvariablen auf Basis von Charakteristika
der Client-Anfrage.</description>
<status>Base</status>
<sourcefile>mod_setenvif.c</sourcefile>
<identifier>setenvif_module</identifier>
<summary>
<p>Mit dem Modul <module>mod_setenvif</module> können
Umgebungsvariablen entsprechend bestimmter Aspekte der Client-Anfrage
gesetzt werden. Diese Umgebungsvariablen können von anderen Teilen
des Servers zur Entscheidung über durchzuführende Aktionen
herangezogen werden.</p>
<p>Die Direktiven werden in der Reihenfolge ihres Auftretens in den
Konfigurationsdateien berücksichtigt, so dass komplexere Sequenzen als
im
folgenden Beispiel benutzt werden können. Im Beispiel wird der Wert
<code>netscape</code> gesetzt, wenn es sich um einen anderen
Mozilla-Browser als den Microsoft Internet Explorer handelt.</p>
<example>
BrowserMatch ^Mozilla netscape<br />
BrowserMatch MSIE !netscape<br />
</example>
</summary>
<seealso><a href="../env.html">Umgebungsvariablen in Apache</a></seealso>
<directivesynopsis>
<name>BrowserMatch</name>
<description>Setzt Umgebungsvariablen in Abhängigkeit vom HTTP-Header
<code>User-Agent</code>.
</description>
<syntax>BrowserMatch <em>Muster [!]Variable</em>[=<em>Wert</em>]
[[!]<em>Variable</em>[=<em>Wert</em>]] ...</syntax>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p>Die <directive>BrowserMatch</directive>-Direktive ist ein Sonderfall der
<directive module="mod_setenvif">SetEnvIf</directive>-Direktive, mit
der Umgebungsvariablen in Abhängigkeit vom Anfrage-Header
<code>User-Agent</code> gesetzt werden. Die beiden folgenden Zeilen
bewirken das Gleiche:</p>
<example>
BrowserMatchNoCase Robot is_a_robot<br />
SetEnvIfNoCase User-Agent Robot is_a_robot<br />
</example>
<p>Weitere Beispiele:</p>
<example>
BrowserMatch ^Mozilla forms jpeg=yes Browser=netscape<br />
BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
BrowserMatch MSIE !javascript<br />
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>BrowserMatchNoCase</name>
<description>Setzt ohne Berücksichtigung der Groß- und
Kleinschreibung
Umgebungsvariablen in Abhängigkeit vom Anfrage-Header
<code>User-Agent</code>.</description>
<syntax>BrowserMatchNoCase <em>Muster [!]Variable</em>
[=<em>Wert</em>] [[!]<em>Variable</em>[=<em>Wert</em>]] ...</syntax>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>Ab Apache 1.2 (in Apache 1.2 befand sich diese Direktive
im inzwischen veralteten Modul <code>mod_Browser</code>.)</compatibility>
<usage>
<p>Die <directive>BrowserMatchNoCase</directive>-Direktive gleicht
semantisch der Direktive <directive
module="mod_setenvif">BrowserMatch</directive>, unterscheidet aber
keine Groß- und Kleinschreibung. Ein Beispiel:</p>
<example>
BrowserMatchNoCase mac platform=macintosh<br />
BrowserMatchNoCase win platform=windows<br />
</example>
<p>Die Direktiven <directive>BrowserMatch</directive> und
<directive>BrowserMatchNoCase</directive> sind Sonderfälle der
Direktiven <directive module="mod_setenvif">SetEnvIf</directive> und
<directive module="mod_setenvif">SetEnvIfNoCase</directive>. Die beiden
folgenden Zeilen bewirken das Gleiche:</p>
<example>
BrowserMatchNoCase Robot is_a_robot<br />
SetEnvIfNoCase User-Agent Robot is_a_robot<br />
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>SetEnvIf</name>
<description>Setzt basierend auf Attributen der Anfrage Umgebungsvariablen.
</description>
<syntax>SetEnvIf <em>Attribut
Muster [!]Variable</em>[=<em>Wert</em>]
[[!]<em>Variable</em>[=<em>Wert</em>]] ...</syntax>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p>Die <directive>SetEnvIf</directive>-Direktive definiert basierend auf
Attributen der Anfrage Umgebungsvariablen. Mit dem ersten Argument
können folgende <em>Attribute</em> angegeben werden:</p>
<ol>
<li>Ein Header-Feld einer HTTP-Anfrage (weitere Informationen hierzu
finden Sie im <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a>).
Zum Beispiel die Felder: <code>Host</code>, <code>User-Agent</code>,
<code>Referer</code> oder <code>Accept-Language</code>. Mit einem
regulären Ausdruck können mehrere Anfrage-Header angegeben
werden.</li>
<li>Eines der folgenden Elemente der Anfrage:
<ul>
<li><code>Remote_Host</code> - Der Hostname des anfragenden
Client (falls verfügbar)</li>
<li><code>Remote_Addr</code> - Die IP-Adresse des anfragenden
Client</li>
<li><code>Server_Addr</code> - Die IP-Adresse des die Anfrage
empfangenden Servers (erst ab Version 2.0.43)</li>
<li><code>Remote_User</code> - Der authentifizierte Benutzername
(falls verfügbar)</li>
<li><code>Request_Method</code> - Die verwendete Methde
(<code>GET</code>, <code>POST</code>, <em>usw.</em>)</li>
<li><code>Request_Protocol</code> - Name und Version des
Protokolls der Anfrage (z.B. HTTP/0.9, HTTP/1.1 usw.)</li>
<li><code>Request_URI</code> - Die in der HTTP-Anfragezeile
angeforderte Ressource (im Allgemeinen der auf das Schema und
den Host-Teil folgende Teil ohne die Abfragezeichenfolge)</li>
</ul>
</li>
<li>Der Name einer Umgebungsvariablen aus der Liste der mit der Anfrage
verknüpften Variablen. Damit können die
<directive>SetEnvIf</directive>-Direktiven einen Abgleich mit vorherigen
Vergleichen vornehmen. Hierfür stehen nur die vorher mit
<code>SetEnvIf[NoCase]</code>-Direktiven definierten Umgebungsvariablen
zur Verfügung. "Vorher" bedeutet, dass sie auf einer höheren Ebene
(beispielsweise auf Serverebene) oder dass sie zuvor im Bereich der
aktuellen Direktive definiert wurden. Umgebungsvariablen werden nur
berücksichtigt, wenn es keine Übereinstimmung zwischen
Anfragecharakteristika
gab und kein regulärer Ausdruck als <em>Attribut</em> verwendet
wird.</li>
</ol>
<p>Das zweite Argument (<em>Muster</em>) ist ein <a
href="http://www.pcre.org/">Perl kompatibler regulärer Ausdruck</a>,
vergleichbar mit einem regulären Ausdruck im <code>egrep</code>-Stil
von POSIX.2. Stimmen Muster <em>Muster</em> und <em>Attribut</em>
überein, werden die verbleibenden Argumente ausgewertet.</p>
<p>Die übrigen Argumente nennen die Namen zu setzender Variablen sowie
optionale Werte, auf die sie gesetzt werden. Sie haben folgende Formen:</p>
<ol>
<li><code><em>VarName</em></code> oder</li>
<li><code>!<em>VarName</em></code> oder</li>
<li><code><em>VarName</em>=<em>Wert</em></code></li>
</ol>
<p>In der ersten Variante wird der Wert auf <code>1</code> gesetzt. In
der zweiten wird die Variable entfernt, wenn sie bereits definiert wurde,
und in der dritten wird die Variable auf den angegebenen
<code><em>Wert</em></code> gesetzt.</p>
<example>
<title>Beispiel:</title>
SetEnvIf Request_URI "\.gif$" object_is_image=gif<br />
SetEnvIf Request_URI "\.jpg$" object_is_image=jpg<br />
SetEnvIf Request_URI "\.xbm$" object_is_image=xbm<br />
:<br />
SetEnvIf Referer www\.mydomain\.com intra_site_referral<br />
:<br />
SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br />
:<br />
SetEnvIf ^TS* ^[a-z].* HAVE_TS<br />
</example>
<p>Die ersten drei Anweisungen setzen die Umgebungsvariable
<code>object_is_image</code>, wenn eine Bilddatei angefordert wurde.
Die vierte Anweisung setzt <code>intra_site_referral</code>, wenn sich die
Seite auf der Website <code>www.mydomain.com</code> befunden hat.</p>
<p>Im letzten Beispiel wird die Umgebungsvariable
<code>HAVE_TS</code> gesetzt, wenn die Anfrage Header enthält, die mit
"TS" beginnen und deren Werte mit den den Zeichen a bis z beginnen.</p>
</usage>
<seealso><a href="../env.html">Umgebungsvariablen in Apache</a>
</seealso>
</directivesynopsis>
<directivesynopsis>
<name>SetEnvIfNoCase</name>
<description>Setzt basierend auf Attributen Umgebungsvariablen, ohne dabei die
Groß- und Kleinschreibung zu beachten.</description>
<syntax>SetEnvIfNoCase <em>Attribut Muster
[!]Variable</em>[=<em>Wert</em>]
[[!]<em>Variable</em>[=<em>Wert</em>]] ...</syntax>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>Apache 1.3 und above</compatibility>
<usage>
<p>Die <directive>SetEnvIfNoCase</directive>-Direktive unterscheidet sich
von der Direktive <directive module="mod_setenvif">SetEnvIf</directive>
nur dadurch, dass beim Vergleich der regulären Ausdrücke die
Groß-
und Kleinschreibung unterschieden werden. Ein Beispiel:</p>
<example>
SetEnvIfNoCase Host Apache\.Org site=apache
</example>
<p>Die Umgebungsvariable <code>site</code> wird auf
<code>apache</code> gesetzt, wenn das HTTP-Anfrage-Header-Feld
<code>Host:</code> vorhanden ist und <code>Apache.Org</code>,
<code>apache.org</code> oder eine andere Kombination enthält.</p>
</usage>
</directivesynopsis>
</modulesynopsis>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]