<?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&ouml;nnen
    Umgebungsvariablen entsprechend bestimmter Aspekte der Client-Anfrage
    gesetzt werden. Diese Umgebungsvariablen k&ouml;nnen von anderen Teilen
    des Servers zur Entscheidung &uuml;ber durchzuf&uuml;hrende Aktionen
    herangezogen werden.</p>

    <p>Die Direktiven werden in der Reihenfolge ihres Auftretens in den
    Konfigurationsdateien ber&uuml;cksichtigt, so dass komplexere Sequenzen als 
im
    folgenden Beispiel benutzt werden k&ouml;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&auml;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&auml;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&uuml;cksichtigung der Gro&szlig;- und 
Kleinschreibung
Umgebungsvariablen in Abh&auml;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&szlig;- 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&auml;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&ouml;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&auml;ren Ausdruck k&ouml;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&uuml;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&uuml;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&uuml;pften Variablen. Damit k&ouml;nnen die
<directive>SetEnvIf</directive>-Direktiven einen Abgleich mit vorherigen
Vergleichen vornehmen. Hierf&uuml;r stehen nur die vorher mit
<code>SetEnvIf[NoCase]</code>-Direktiven definierten Umgebungsvariablen
zur Verf&uuml;gung. "Vorher" bedeutet, dass sie auf einer h&ouml;heren Ebene
(beispielsweise auf Serverebene) oder dass sie zuvor im Bereich der
aktuellen Direktive definiert wurden. Umgebungsvariablen werden nur
ber&uuml;cksichtigt, wenn es keine &Uuml;bereinstimmung zwischen 
Anfragecharakteristika
gab und kein regul&auml;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&auml;rer Ausdruck</a>,
vergleichbar mit einem regul&auml;ren Ausdruck im <code>egrep</code>-Stil
von POSIX.2. Stimmen Muster <em>Muster</em> und <em>Attribut</em>
&uuml;berein, werden die verbleibenden Argumente ausgewertet.</p>

<p>Die &uuml;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&auml;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&szlig;- 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&auml;ren Ausdr&uuml;cke die 
Gro&szlig;-
    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&auml;lt.</p>
</usage>
</directivesynopsis>
</modulesynopsis>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to