2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
4 <!-- English Revision: 1.92 -->
7 Copyright 2003-2004 The Apache Software Foundation
9 Licensed under the Apache License, Version 2.0 (the "License");
10 you may not use this file except in compliance with the License.
11 You may obtain a copy of the License at
13 http://www.apache.org/licenses/LICENSE-2.0
15 Unless required by applicable law or agreed to in writing, software
16 distributed under the License is distributed on an "AS IS" BASIS,
17 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 See the License for the specific language governing permissions and
19 limitations under the License.
22 <modulesynopsis metafile="core.xml.meta">
25 <description>Ständig verfügbare Kernfunktionen des Apache HTTP
30 <name>AcceptPathInfo</name>
31 <description>Ressourcen lassen angehängte Pfadangaben zu</description>
32 <syntax>AcceptPathInfo On|Off|Default</syntax>
33 <default>AcceptPathInfo Default</default>
34 <contextlist><context>server config</context>
35 <context>virtual host</context><context>directory</context>
36 <context>.htaccess</context></contextlist>
37 <override>FileInfo</override>
38 <compatibility>Verfügbar ab Apache 2.0.30</compatibility>
41 <p>Die Direktive steuert, ob Anfragen akzeptiert oder
42 abgewiesen werden, bei denen nach der tatsächlichen
43 Datei (oder einer nicht existierenden Datei in einem existierenden
44 Verzeichnis) zusätzliche Pfadangaben folgen. Die angehängte
45 Pfadangabe kann Skripten in der Umgebungsvariable <code>PATH_INFO</code>
46 verfügbar gemacht werden.</p>
48 <p>Nehmen wir beispielsweise an, dass <code>/test/</code> auf ein
49 Verzeichnis zeigt, welches lediglich eine Datei <code>here.html</code>
50 enthält. Dann wird bei Anfragen nach
51 <code>/test/here.html/more</code> und
52 <code>/test/nothere.html/more</code> beides Mal <code>/more</code>
53 als <code>PATH_INFO</code> ermittelt.</p>
55 <p>Die drei möglichen Argumente für die Direktive
56 <directive>AcceptPathInfo</directive> sind:</p>
59 <dt><code>Off</code></dt><dd>Eine Anfrage wird nur dann akzeptiert,
60 wenn sie exakt auf ein existierendes Verzeichnis (oder eine Datei)
61 abgebildet werden kann. Daher würde eine Anfrage mit einer nach dem
62 tatsächlichen Dateinamen angehängten Pfadangabe, wie
63 <code>/test/here.html/more</code> im obigen Beispiel, den Fehler
64 404 NOT FOUND <transnote>nicht gefunden</transnote>
65 zurückgeben.</dd>
67 <dt><code>On</code></dt>
68 <dd>Eine Anfrage wird akzeptiert, wenn eine vorangestellte Pfadangabe
69 auf ein existierendes Verzeichnis abgebildet werden kann. Das
70 obige Beispiel <code>/test/here.html/more</code> wird akzeptiert,
71 wenn <code>/test/here.html</code> auf eine gültige Datei
74 <dt><code>Default</code></dt>
75 <dd>Die Behandlung von Anfragen mit angehängten Pfadangaben
76 wird von dem für die Anfrage verantwortlichen <a
77 href="../handler.html">Handler</a> bestimmt. Der Core-Handler
78 für gewöhnliche Dateien weist <code>PATH_INFO</code>-Zugriffe
79 standardmäßig zurück. Handler, die Skripte bedienen,
80 wie z.B. <a href="mod_cgi.html">cgi-script</a> und
81 <a href="mod_isapi.html">isapi-isa</a>, sind im Allgemeinen darauf
82 voreingestellt, <code>PATH_INFO</code> zu akzeptieren.</dd>
85 <p>Das eigentliche Ziel von <code>AcceptPathInfo</code> ist es, Ihnen
86 das Überschreiben der Voreinstellung der Handler bezüglich
87 der Akzeptanz oder Ablehnung von <code>PATH_INFO</code> zu erlauben.
88 Eine solche Änderung ist zum Beispiel notwendig, wenn Sie einen
89 <a href="../filter.html">Filter</a> wie <a
90 href="mod_include.html">INCLUDES</a> verwenden, um Inhalte
91 abhängig von <code>PATH_INFO</code> zu generieren. Der
92 Core-Handler würde die Anfrage normalerweise abweisen. Verwenden
93 Sie die folgende Konfiguration, um dennoch solch ein Skript zu
97 <Files "mypaths.shtml"><br />
99 Options +Includes<br />
100 SetOutputFilter INCLUDES<br />
101 AcceptPathInfo On<br />
110 <name>AccessFileName</name>
111 <description>Name der dezentralen Konfigurationsdateien</description>
112 <syntax>AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</syntax>
113 <default>AccessFileName .htaccess</default>
114 <contextlist><context>server config</context><context>virtual host</context>
118 <p>Aus dieser Namensliste sucht der Server während der
119 Bearbeitung einer Anfrage in jedem Verzeichnis nach der ersten
120 existierenden Datei, sofern im betreffenden Verzeichnis dezentrale
121 Konfigurationsdateien <a href="#allowoverride">erlaubt sind</a>.
128 <p>Vor der Rücksendung des Dokuments
129 <code>/usr/local/web/index.html</code> wird der Server
130 <code>/.acl</code>, <code>/usr/.acl</code>,
131 <code>/usr/local/.acl</code> und <code>/usr/local/web/.acl</code>
132 einlesen, solange diese nicht mit</p>
135 <Directory /><br />
137 AllowOverride None<br />
142 <p>deaktiviert wurden.</p>
144 <seealso><directive module="core">AllowOverride</directive></seealso>
145 <seealso><a href="../configuring.html">Konfigurationsdateien</a></seealso>
146 <seealso><a href="../howto/htaccess.html">.htaccess-Dateien</a></seealso>
150 <name>AddDefaultCharset</name>
151 <description>Standard-Zeichenkodierung für Antworten ohne
152 explizit angegebene Zeichenkodierung
154 <syntax>AddDefaultCharset On|Off|<var>Zeichenkodierung</var></syntax>
155 <default>AddDefaultCharset Off</default>
156 <contextlist><context>server config</context>
157 <context>virtual host</context><context>directory</context>
158 <context>.htaccess</context></contextlist>
159 <override>FileInfo</override>
162 <p>Die Direktive gibt den Namen der Zeichenkodierung an, die
163 jeder Antwort hinzugefügt wird, welche in den HTTP-Headern
164 keinen Parameter zum Content-Type enthält. Dies überschreibt
165 jede Zeichenkodierung, die mittels <code>META</code>-Tag im Dokument
166 angegeben ist. Die Angabe von <code>AddDefaultCharset Off</code>
167 deaktiviert die Funktion. <code>AddDefaultCharset On</code>
168 ermöglicht es, mit der Direktive die Apache-interne
169 Standard-Zeichenkodierung <code>iso-8859-1</code> vorzuschreiben.
170 Sie können auch angeben, dass eine andere
171 <var>Zeichenkodierung</var> verwendet werden soll. Zum Beispiel:</p>
174 AddDefaultCharset utf-8
180 <name>AddOutputFilterByType</name>
181 <description>einen Ausgabefilter einem bestimmten MIME-Type
182 zuordnen</description>
183 <syntax>AddOutputFilterByType <var>Filter</var>[;<var>Filter</var>...]
184 <var>MIME-Type</var> [<var>MIME-Type</var>] ...</syntax>
185 <contextlist><context>server config</context>
186 <context>virtual host</context><context>directory</context>
187 <context>.htaccess</context></contextlist>
188 <override>FileInfo</override>
189 <compatibility>Verfügbar ab Apache 2.0.33</compatibility>
192 <p>Die Direktive aktiviert für eine Anfrage abhängig vom
193 MIME-Type der Antwort einen bestimmten Ausgabe-<a href="../filter.html"
196 <p>Das folgende Beispiel verwendet den Filter <code>DEFLATE</code>,
197 der von <module>mod_deflate</module> angeboten wird. Er komprimiert
198 jede Ausgabe, die als <code>text/html</code> oder <code>text/plain</code>
199 gekennzeichnet ist, (gleichgültig, ob statisch oder dynamisch)
200 bevor sie an den Client gesendet wird.</p>
203 AddOutputFilterByType DEFLATE text/html text/plain
206 <p>Wenn Sie den Inhalt von mehr als einem Filter verarbeiten lassen
207 wollen, dann müssen deren Namen durch Semikolons voneinander
208 getrennt werden. Es ist ebenfalls möglich, eine
209 <directive>AddOutputFilterByType</directive>-Direktive für
210 jeden von diesen Filtern zu verwenden.</p>
212 <p>Die folgende Konfiguration sorgt dafür, dass alle
213 Skriptausgaben, die als <code>text/html</code> gekennzeichnet
214 sind, zuerst vom <code>INCLUDES</code>-Filter und dann vom
215 <code>DEFLATE</code>-Filter verarbeitet werden.</p>
218 <Location /cgi-bin/><br />
220 Options Includes<br />
221 AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
226 <note type="warning"><title>Hinweis:</title>
227 <p>Die Aktivierung von Filtern mittels
228 <directive>AddOutputFilterByType</directive> kann in einigen
229 Fällen ganz oder teilweise fehlschlagen. Beispielsweise
230 werden keine Filter angewendet, wenn der MIME-Type nicht bestimmt
231 werden kann und auf die Einstellung der <directive
232 module="core">DefaultType</directive>-Anweisung zurückfällt,
233 selbst wenn die <directive
234 module="core">DefaultType</directive>-Einstellung die gleiche ist.</p>
236 <p>Wenn Sie jedoch sicherstellen wollen, dass der Filter
237 angewendet wird, sollten Sie den Content-Type z.B. mit
238 <directive module="mod_mime">AddType</directive> oder
239 <directive module="core">ForceType</directive> der Ressource
240 explizit zuordnen. Das Setzen des Content-Types innerhalb
241 eines (nicht-nph) CGI-Skriptes funktioniert ebenfalls
242 zuverlässig.</p>
244 <p>Die Typ-gebundenen Ausgabefilter werden niemals auf
245 Proxy-Anfragen angewendet.</p>
249 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
250 <seealso><directive module="core">SetOutputFilter</directive></seealso>
251 <seealso><a href="../filter.html">Filter</a></seealso>
255 <name>AllowEncodedSlashes</name>
256 <description>Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht
257 werden dürfen</description>
258 <syntax>AllowEncodedSlashes On|Off</syntax>
259 <default>AllowEncodedSlashes Off</default>
260 <contextlist><context>server config</context><context>virtual host</context>
262 <compatibility>Verfügbar ab Apache 2.0.46</compatibility>
265 <p>Die <directive>AllowEncodedSlashes</directive>-Direktive erlaubt die
266 Verwendung von URLs, welche kodierte Pfadtrennzeichen (<code>%2F</code>
267 für <code>/</code> und auf entsprechenden Systemen zusätzlich
268 <code>%5C</code> für <code>\</code>) enthalten. Normalerweise werden
269 derartige URLs mit einem 404-Fehler (Nicht gefunden) abgewiesen.</p>
271 <p><directive>AllowEncodedSlashes</directive> <code>On</code> ist
272 vor allem in Verbindung mit <code>PATH_INFO</code> hilfreich.</p>
274 <note><title>Anmerkung</title>
275 <p>Das Erlauben von Schrägstrichen impliziert <em>nicht</em> deren
276 <em>Dekodierung</em>. Vorkommen von <code>%2F</code> oder <code>%5C</code>
277 (<em>nur</em> auf entsprechenden Systemen) werden unverändert in der
278 ansonsten dekodierten URL belassen.</p>
281 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
285 <name>AllowOverride</name>
286 <description>Direktiven-Typen, die in <code>.htaccess</code>-Dateien
287 erlaubt sind.</description>
288 <syntax>AllowOverride All|None|<var>Direktiven-Typ</var>
289 [<var>Direktiven-Typ</var>] ...</syntax>
290 <default>AllowOverride All</default>
291 <contextlist><context>directory</context></contextlist>
294 <p>Wenn der Server eine <code>.htaccess</code>-Datei (wie durch
295 <directive module="core">AccessFileName</directive> definiert)
296 findet, muss er wissen, welche in der Datei angegebenen Direktiven
297 frühere Konfigurationsanweisungen überschreiben
300 <note><title>Nur in <Directory>-Abschnitten verfügbar</title>
301 <directive>AllowOverride</directive> ist nur in <directive
302 type="section" module="core">Directory</directive>-Abschnitten
303 gültig, die ohne reguläre Ausdrüke definiert wurden, nicht
304 in <directive type="section" module="core">Location</directive>-,
305 <directive module="core" type="section">DirectoryMatch</directive>- oder
306 <directive type="section" module="core">Files</directive>-Abschnitten.
309 <p>Wenn diese Anweisung auf <code>None</code> gesetzt wird, dann
310 werden <a href="#accessfilename">.htaccess</a>-Dateien komplett
311 ignoriert. In diesem Fall wird der Server nicht einmal versuchen,
312 die <code>.htaccess</code>-Dateien im Dateisystem zu lesen.</p>
314 <p>Wenn diese Anweisung auf <code>All</code> gesetzt wird, dann
315 ist jede Direktive in den <code>.htaccess</code>-Dateien erlaubt,
316 die den <a href="directive-dict.html#Context">Kontext</a>
317 .htaccess besitzt.</p>
319 <p>Der <var>Direktiven-Typ</var> kann eine der folgenden
320 Anweisungsgruppen sein.</p>
326 Erlaubt die Verwendung von Autorisierungs-Anweisungen (<directive
327 module="mod_authn_dbm">AuthDBMGroupFile</directive>,
328 <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
329 <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
330 <directive module="core">AuthName</directive>,
331 <directive module="core">AuthType</directive>, <directive
332 module="mod_authn_file">AuthUserFile</directive>, <directive
333 module="core">Require</directive> <em>usw.</em>).</dd>
338 Erlaubt die Verwendung von Direktiven zur Steuerung der
339 Dokumenttypen (<directive
340 module="core">DefaultType</directive>, <directive
341 module="core">ErrorDocument</directive>, <directive
342 module="core">ForceType</directive>, <directive
343 module="mod_negotiation">LanguagePriority</directive>,
344 <directive module="core">SetHandler</directive>, <directive
345 module="core">SetInputFilter</directive>, <directive
346 module="core">SetOutputFilter</directive>, und
347 <module>mod_mime</module>-Direktiven Add* und Remove*
353 Erlaubt die Verwendung von Direktiven zur Steuerung von
354 Verzeichnisindizes (<directive
355 module="mod_autoindex">AddDescription</directive>,
356 <directive module="mod_autoindex">AddIcon</directive>, <directive
357 module="mod_autoindex">AddIconByEncoding</directive>,
358 <directive module="mod_autoindex">AddIconByType</directive>,
359 <directive module="mod_autoindex">DefaultIcon</directive>, <directive
360 module="mod_dir">DirectoryIndex</directive>, <directive
361 module="mod_autoindex">FancyIndexing</directive>, <directive
362 module="mod_autoindex">HeaderName</directive>, <directive
363 module="mod_autoindex">IndexIgnore</directive>, <directive
364 module="mod_autoindex">IndexOptions</directive>, <directive
365 module="mod_autoindex">ReadmeName</directive>
371 Erlaubt die Verwendung von Direktiven zur Steuerung des
372 Zugriffs von Hosts (<directive
373 module="mod_authz_host">Allow</directive>, <directive
374 module="mod_authz_host">Deny</directive> und <directive
375 module="mod_authz_host">Order</directive>).</dd>
377 <dt>Options[=<var>Option</var>,...]</dt>
380 Erlaubt die Verwendung von Direktiven zur Steuerung spezieller
381 Verzeichniseigenschaften (<directive module="core">Options</directive>
382 und <directive module="mod_include">XBitHack</directive>). Sie
383 können mit einem Gleichheitszeichen gefolgt von einer
384 kommaseparierten Liste (ohne Leerzeichen) angeben, welche Optionen mit
385 der <directive module="core">Options</directive>-Direktive gesetzt
386 werden dürfen.</dd>
392 AllowOverride AuthConfig Indexes
395 <p>Im obigen Beispiel erzeugen alle Direktiven einen internal server
396 error <transnote>Server-interner Fehler</transnote>, die weder der
397 Gruppe <code>AuthConfig</code> noch der Gruppe <code>Indexes</code>
401 <seealso><directive module="core">AccessFileName</directive></seealso>
402 <seealso><a href="../configuring.html">Konfigurationsdateien</a></seealso>
403 <seealso><a href="../howto/htaccess.html">.htaccess-Dateien</a></seealso>
407 <name>AuthName</name>
408 <description>Autorisierungsbereich zur Verwendung in der
409 HTTP-Authentisierung</description>
410 <syntax>AuthName <var>auth-Bereich</var></syntax>
411 <contextlist><context>directory</context><context>.htaccess</context>
413 <override>AuthConfig</override>
416 <p>Die Direktive legt den Namen des Autorisierungsbereiches
417 <transnote>Der Autorisierungsbereich wird auch Realm genannt.</transnote>
418 für ein Verzeichnis fest. Dieser Realm wird dem Client mitgeteilt,
419 damit der Anwender weiß, welchen Benutzernamen und welches Passwort
420 er zu übermitteln hat. <directive>AuthName</directive> akzeptiert ein
421 Argument. Falls der Name des Realm Leerzeichen enthält, muss er in
422 Anführungszeichen eingeschlossen werden. Um zu funktionieren, muss
423 die Anweisung von den Direktiven <directive
424 module="core">AuthType</directive> und <directive
425 module="core">Require</directive> sowie von
426 Direktiven wie <directive module="mod_authn_file">AuthUserFile</directive>
427 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
428 begleitet werden.</p>
433 AuthName "Top Secret"
436 <p>Die <code>AuthName</code> übergebene Zeichenkette ist das,
437 was in dem von den meisten Browsern angebotenen Passwort-Dialog
441 href="../howto/auth.html">Authentisierung, Autorisierung und
442 Zugriffskontrolle</a></seealso>
446 <name>AuthType</name>
447 <description>Art der Authentisierung</description>
448 <syntax>AuthType Basic|Digest</syntax>
449 <contextlist><context>directory</context><context>.htaccess</context>
451 <override>AuthConfig</override>
454 <p>Die Direktive wählt die Art der Benutzer-Authentisierung
455 für ein Verzeichnis aus. Derzeit sind lediglich <code>Basic</code>
456 und <code>Digest</code> implementiert.
457 Um zu funktionieren, muss die Anweisung von den Direktiven <directive
458 module="core">AuthName</directive> und <directive
459 module="core">Require</directive> sowie von
460 Direktiven wie <directive module="mod_authn_file">AuthUserFile</directive>
461 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
462 begleitet werden.</p>
464 <seealso><a href="../howto/auth.html">Authentisierung, Autorisierung und
465 Zugriffskontrolle</a></seealso>
469 <name>CGIMapExtension</name>
470 <description>Technik zur Bestimmung des Interpreters für
471 CGI-Skripte</description>
472 <syntax>CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></syntax>
473 <contextlist><context>directory</context><context>.htaccess</context>
475 <override>FileInfo</override>
476 <compatibility>ausschließlich NetWare</compatibility>
479 <p>Die Direktive wird zur Steuerung verwendet, wie Apache
480 den Interpreter ermittelt, der zur Ausführung von
481 CGI-Skripten verwendet wird. Beispielsweise bestimmt die Angabe
482 von <code>CGIMapExtension sys:\foo.nlm .foo</code>, dass
483 alle CGI-Scripte mit der Endung <code>.foo</code> an den
484 FOO-Interpreter übergeben werden.</p>
489 <name>ContentDigest</name>
490 <description>Aktiviert die Generierung von <code>Content-MD5</code>
491 HTTP-Response-Headern</description>
492 <syntax>ContentDigest On|Off</syntax>
493 <default>ContentDigest Off</default>
494 <contextlist><context>server config</context><context>virtual host</context>
495 <context>directory</context><context>.htaccess</context>
497 <override>Options</override>
498 <status>Experimental</status>
501 <p>Die Direktive aktiviert die Generierung von
502 <code>Content-MD5</code>-Headern, wie sie in RFC1864 bzw. RFC2068
505 <p>MD5 ist ein Algorithmus zur Berechnung eines "Datenextrakts"
506 (zuweilen "Fingerabdruck" genannt) <transnote>Der "Datenextrakt" wird im
507 Englischen als "message digest" oder "fingerprint" bezeichnet.</transnote>
508 aus beliebig langen Daten. Es gilt als zuverlässig, dass
509 Veränderungen an den Daten sich in Veränderungen des
510 Extrakts wiederspiegeln.</p>
512 <p>Der <code>Content-MD5</code>-Header bietet eine
513 End-to-End-Integritätsprüfung (MIC) <transnote>MIC steht für
514 "message integrity check".</transnote> des Daten-Inhalts. Ein Proxy oder
515 Client kann diesen Header prüfen, um zufällige Veränderungen
516 des Entity-Inhalts bei der Übertragung festzustellen.
520 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
523 <p>Beachten Sie bitte, dass dies Performanceprobleme auf Ihrem
524 System verursachen kann, da der Extrakt bei jeder Anfrage
525 berechnet wird (der Wert wird nicht zwischengespeichert).</p>
527 <p><code>Content-MD5</code> wird nur für Dokumente gesendet,
528 die von <module>core</module> bedient werden, nicht jedoch bei
529 Modulen. SSI-Dokumente, CGI-Skript-Ausgaben und Byte-Range-Antworten
530 besitzen diesen Header beispielsweise nicht.</p>
535 <name>DefaultType</name>
536 <description>MIME-Content-Type, der gesendet wird, wenn der Server den Typ
537 nicht auf andere Weise ermitteln kann.</description>
538 <syntax>DefaultType <var>MIME-Type</var></syntax>
539 <default>DefaultType text/plain</default>
540 <contextlist><context>server config</context><context>virtual host</context>
541 <context>directory</context><context>.htaccess</context>
543 <override>FileInfo</override>
546 <p>Es kann vorkommen, dass der Server ein Dokument ausliefern muss,
547 dessen Typ er nicht mit Hilfe seiner MIME-Type-Zuordnungen bestimmen
550 <p>Der Server muss den Client über den Content-Type des
551 Dokumentes informieren. Daher verwendet er im Falle eines
552 unbekannten Typs die <code>DefaultType</code>-Einstellung.
556 DefaultType image/gif
559 <p>wäre angemessen für ein Verzeichnis, das viele GIF-Bilder
560 enthält, deren Dateinamen nicht Endung <code>.gif</code>
563 <p>Beachten Sie bitte, dass die Direktive anders als <directive
564 module="core">ForceType</directive> lediglich den Standard-MIME-Type
565 bestimmt. Alle anderen MIME-Type-Definitionen, einschließlich
566 Dateierweiterungen, die den Medien-Typ anzeigen können,
567 überschreiben diese Voreinstellung.</p>
571 <directivesynopsis type="section">
572 <name>Directory</name>
573 <description>Umschließt eine Gruppe von Direktiven, die nur auf
574 das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet
576 <syntax><Directory <var>Verzeichnispfad</var>>
577 ... </Directory></syntax>
578 <contextlist><context>server config</context><context>virtual host</context>
582 <p><directive type="section">Directory</directive> und
583 <code></Directory></code> werden dazu verwendet, eine Gruppe
584 von Direktiven zusammenzufassen, die nur für das genannte
585 Verzeichnis und dessen Unterverzeichnisse gelten. Jede Direktive,
586 die im Verzeichnis-Kontext erlaubt ist, kann verwendet werden.
587 <var>Verzeichnispfad</var> ist entweder der vollständige Pfad zu
588 einem Verzeichnis oder eine Zeichenkette mit Platzhaltern wie sie von der
589 Unix-Shell zum Abgleich verwendet werden. In einer Zeichenkette
590 mit Platzhaltern <transnote>sogenannte wild-cards</transnote> entspricht
591 <code>?</code> einem einzelnen Zeichen und <code>*</code> einer
592 Zeichenkette beliebiger Länge. Sie können auch auch
593 <code>[]</code>-Zeichenbereiche verwenden. Keiner der Platzhalter
594 entspricht dem Zeichen "/". Daher passt <code><Directory
595 /*/public_html></code> nicht auf <code>/home/user/public_html</code>,
596 <code><Directory /home/*/public_html></code> jedoch tut es.
600 <Directory /usr/local/httpd/htdocs><br />
602 Options Indexes FollowSymLinks<br />
608 <p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten.
609 Sie müssen buchstäblich mit dem Dateisystempfad
610 übereinstimmen, den der Apache für den Zugriff auf die
611 Dateien verwendet. Direktiven, die für ein bestimmtes
612 Verzeichnis gelten, gelten nicht für Dateien in dem Verzeichnis,
613 auf die über einen anderen Pfad zugegriffen wird, wie z.B.
614 über verschiedene symbolische Links.</p>
617 <p>Erweiterte reguläre Ausdrücke können ebenfalls
618 verwendet werden, indem das Zeichen <code>~</code> hinzugefügt
619 wird. Beispielsweise würde</p>
622 <Directory ~ "^/www/.*/[0-9]{3}">
625 <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei
628 <p>Wenn mehrere <directive type="section">Directory</directive>-Abschnitte
629 (ohne reguläre Ausdrücke) auf ein Verzeichnis (oder
630 ein ihm übergeordnetes Verzeichnis) passen, welches ein Dokument
631 enthält, dann werden die Direktiven der Reihe nach, angefangen
632 beim kürzesten passenden Muster, vermischt mit den Direktiven
633 aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet.
637 <Directory /><br />
639 AllowOverride None<br />
641 </Directory><br />
643 <Directory /home/><br />
645 AllowOverride FileInfo<br />
650 <p>Beim Zugriff auf das Dokument <code>/home/web/dir/doc.html</code>
651 sind die einzelnen Schritte:</p>
654 <li>Wende die Direktive <code>AllowOverride None</code> an
655 (deaktiviere <code>.htaccess</code>-Dateien).</li>
657 <li>Wende die Direktive <code>AllowOverride FileInfo</code>
658 (auf das Verzeichnis <code>/home</code>) an.</li>
660 <li>Wende jede <code>FileInfo</code>-Direktive aus
661 <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> und
662 <code>/home/web/dir/.htaccess</code> der Reihe nach an.</li>
665 <p>Reguläre Ausdrücke werden solange nicht berücksichtigt,
666 bis alle normalen Abschnitte angewendet wurden. Anschließend
667 werden alle regulären Ausdrücke in der Reihenfolge
668 geprüft, in der sie in der Konfigurationsdatei auftauchen.
669 Beispielsweise wird bei</p>
672 <Directory ~ abc$><br />
674 # ... hier die Direktiven ...<br />
679 <p>der Abschnitt mit dem regulären Ausdruck nicht
680 berücksichtigt, bis alle normalen
681 <directive type="section">Directory</directive>-Abschnitte und
682 <code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird
683 der reguläre Ausdruck mit <code>/home/abc/public_html/abc</code>
684 abgeglichen und der entsprechende <directive
685 type="section">Directory</directive>-Abschnitt angewendet.</p>
687 <p><strong>Beachten Sie bitte, dass der vom Apache voreingestellte
688 Zugriff für <code><Directory /></code>
689 <code>Allow from All</code> ist. Das bedeutet, dass der Apache
690 jede Datei ausliefert, die durch eine URL abgebildet wird. Es wird
691 empfohlen, dass Sie dies durch einen Block wie</strong></p>
694 <Directory /><br />
696 Order Deny,Allow<br />
702 <p><strong>ändern und anschließend für
703 Verzeichnisse überschreiben, die Sie verfügbar machen
704 <em>wollen</em>. Für weitere Einzelheiten lesen Sie bitte
706 href="../misc/security_tips.html">Sicherheitshinweisen</a>.</strong></p>
708 <p>Die Verzeichnisabschnitte erscheinen in der Datei
709 <code>httpd.conf</code>. <directive
710 type="section">Directory</directive>-Direktiven dürfen nicht
711 ineinander verschachtelt werden oder innerhalb von <directive module="core"
712 type="section">Limit</directive>- oder <directive module="core"
713 type="section">LimitExcept</directive>-Abschnitten auftauchen.</p>
715 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
716 <Location> und <Files> arbeiten</a> für eine
717 Erläuterung, wie diese verschiedenen Abschnitte miteinander
718 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
721 <directivesynopsis type="section">
722 <name>DirectoryMatch</name>
723 <description>Umschließt eine Gruppe von Direktiven, die auf
724 Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet
725 werden, welche auf einen regulären Ausdruck passen</description>
726 <syntax><DirectoryMatch <var>regex</var>>
727 ... </DirectoryMatch></syntax>
728 <contextlist><context>server config</context><context>virtual host</context>
732 <p><directive type="section">DirectoryMatch</directive> und
733 <code></DirectoryMatch></code> werden dazu verwendet, eine
734 Gruppe von Direktiven zusammenzufassen, die nur für das
735 genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso
736 wie bei <directive module="core" type="section">Directory</directive>.
737 Als Argument dient jedoch ein regulärer Ausdruck.
738 Beispielsweise würde</p>
741 <DirectoryMatch "^/www/.*/[0-9]{3}">
744 <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei
745 Zeichen bestehen.</p>
747 <seealso><directive type="section" module="core">Directory</directive>
748 für eine Beschreibung, wie reguläre Ausdrücke mit
749 normalen <directive type="section">Directory</directive>-Anweisungen
750 vermischt werden.</seealso>
751 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
752 <Location> und <Files> arbeiten</a> für eine
753 Erläuterung, wie diese verschiedenen Abschnitte miteinander
754 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
758 <name>DocumentRoot</name>
759 <description>Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im
760 Web sichtbar ist.</description>
761 <syntax>DocumentRoot <var>Verzeichnis</var></syntax>
762 <default>DocumentRoot /usr/local/apache/htdocs</default>
763 <contextlist><context>server config</context><context>virtual host</context>
767 <p>Die Direktive setzt das Verzeichnis, von dem aus
768 <code>httpd</code> Dateien ausliefert. Sofern nicht eine Direktive
769 wie <directive module="mod_alias">Alias</directive> greift, hängt
770 der Server Pfade aus der angeforderten URL an das Wurzelverzeichnis
771 an, um den Pfad zum Dokument zu bilden. Beispiel:</p>
774 DocumentRoot /usr/web
777 <p>Damit bezieht sich ein Zugriff auf
778 <code>http://www.my.host.com/index.html</code> auf
779 <code>/usr/web/index.html</code>. Wenn das <var>Verzeichnis</var> nicht
780 absolut angegeben ist, wird es relativ zu <directive
781 module="core">ServerRoot</directive> betrachtet.</p>
783 <p><directive>DocumentRoot</directive> sollte ohne einen
784 Schrägstrich am Ende angegeben werden.</p>
786 <seealso><a href="../urlmapping.html">URLs auf das Dateisystem
787 abbilden</a></seealso>
791 <name>EnableMMAP</name>
792 <description>Verwende Memory-Mapping, um Dateien während der
793 Auslieferung zu lesen</description>
794 <syntax>EnableMMAP On|Off</syntax>
795 <default>EnableMMAP On</default>
796 <contextlist><context>server config</context><context>virtual host</context>
797 <context>directory</context><context>.htaccess</context>
799 <override>FileInfo</override>
802 <p>Die Direktive steuert, ob <code>httpd</code> Memory-Mapping verwenden
803 darf, wenn er während der Auslieferung den Inhalt einer
804 Datei lesen muss. Wenn die Bearbeitung einer Anfrage es erfordert,
805 auf die Daten in einer Datei zuzugreifen -- zum Beispiel bei der
806 Auslieferung einer mittels <module>mod_include</module> serverseitig
807 analysierten Datei --, dann verwendet der Apache standardmäßig
808 Memory-Mapping für diese Datei, sofern das Betriebssystem es
809 unterstützt.</p>
811 <p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung.
812 In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu
813 deaktivieren, um Problemen während des Betriebs vorzubeugen:</p>
816 <li>Bei einigen Multiprozessorsystemen kann Memory-Mapping die
817 Performance von <code>httpd</code> reduzieren.</li>
818 <li>Bei einem per NFS eingebundenen <directive
819 module="core">DocumentRoot</directive> kann <code>httpd</code> mit einem
820 Segmentierungsfehler <transnote>ein sogenannter "segmentation
821 fault"</transnote> abstürzen, wenn eine Datei gelöscht oder
822 gekürzt wird, während <code>httpd</code> sie im Speicher
826 <p>Bei Serverkonfigurationen, die für dieses Problem
827 anfällig sind, sollten Sie das Memory-Mapping für
828 auszuliefernde Dateien deaktivieren, indem Sie schreiben:</p>
834 <p>Bei per NFS eingebundenen Dateien kann diese Funktion
835 explizit für die störenden Dateien deaktiviert werden,
836 indem Sie angeben:</p>
839 <Directory "/pfad-zu-den-nfs-dateien">
849 <name>EnableSendfile</name>
850 <description>Verwende die sendfile-Unterstützung des Kernels, um
851 Dateien an den Client auszuliefern</description>
852 <syntax>EnableSendfile On|Off</syntax>
853 <default>EnableSendfile On</default>
854 <contextlist><context>server config</context><context>virtual host</context>
855 <context>directory</context><context>.htaccess</context>
857 <override>FileInfo</override>
858 <compatibility>Verfügbar ab Apache Version 2.0.44</compatibility>
861 <p>Die Direktive steuert, ob <code>httpd</code> die
862 sendfile-Unterstützung des Kernels verwenden kann, um
863 Dateiinhalte an den Client zu übermitteln. Wenn die Bearbeitung
864 einer Anfrage keinen Zugriff auf die Daten in der Datei erfordert --
865 zum Beispiel bei der Auslieferung einer statischen Datei -- und das
866 Betriebssystem es unterstützt, verwendet der Apache
867 standardmäßig sendfile, um den Dateiinhalt zu
868 übertragen, ohne die Datei jemals zu lesen.</p>
870 <p>Der sendfile-Mechanismus vermeidet getrennte Lese- und
871 Sendeoperationen sowie Puffer-Zuweisungen. Bei einigen Plattformen bzw.
872 Dateisystemen deaktivieren Sie diese Funktion jedoch besser, um Probleme
873 während des Betriebs zu vermeiden:</p>
876 <li>Einige Plattformen besitzen u.U. eine fehlerhafte
877 sendfile-Unterstützung, die das Erstellungssystem nicht erkennt,
878 insbesondere wenn die Binärdateien auf einem anderen Rechner erstellt
879 und auf eine solche Maschine mit fehlerhafter sendfile-Unterstützung
880 übertragen wurden.</li>
881 <li>Bei einem über das Netzwerk eingebundenen <directive
882 module="core">DocumentRoot</directive> (z.B. NFS oder SMB) ist der
883 Kernel möglicherweise nicht in der Lage, die Netzwerkdatei
884 über seinen eigenen Cache zu bedienen.</li>
885 <li>Unter Linux löst die Verwendung von <code>sendfile</code>
886 in Verbindung mit bestimmten Netzwerkkarten und IPv6
887 TCP-Checksummenfehler aus.</li>
890 <p>Bei Serverkonfigurationen, die für dieses Problam
891 anfällig sind, sollten die diese Funktion deaktivieren, indem
898 <p>Bei per NFS oder SMB eingebundenen Dateien kann diese Funktion
899 explizit für die störenden Dateien deaktiviert werden, indem
903 <Directory "/pfad-zu-den-nfs-dateien">
913 <name>ErrorDocument</name>
914 <description>Das, was der Server im Fehlerfall an den Client
915 zurückgibt</description>
916 <syntax>ErrorDocument <var>Fehlercode</var> <var>Dokument</var></syntax>
917 <contextlist><context>server config</context><context>virtual host</context>
918 <context>directory</context><context>.htaccess</context>
920 <override>FileInfo</override>
921 <compatibility>Die Syntax der Anführungszeichen bei Textnachrichten hat
922 sich im Apache 2.0 geändert</compatibility>
925 <p>Im Falle eines Problems oder Fehlers kann der Apache
926 konfiguriert werden, eine der vier Aktionen auszuführen:</p>
929 <li>Ausgabe einer einfachen, hartkodierten Fehlermeldung</li>
931 <li>Ausgabe einer angepassten Meldung</li>
933 <li>Umleitung zu einem lokalen <var>URL-Pfad</var> der das
934 Problem bzw. den Fehler behandelt</li>
936 <li>Umleitung zu einer externen <var>URL</var>, die das Problem
937 bzw. den Fehler behandelt</li>
940 <p>Die erste Option ist Voreinstellung, während die Optionen
941 2 bis 4 über die Direktive <directive>ErrorDocument</directive>
942 eingestellt werden, welcher der HTTP-Statuscode und eine
943 URL oder Nachricht folgen. Abhängig vom Problem bzw. Fehler bietet
944 der Apache manchmal zusätzliche Informationen an.</p>
946 <p>URLs können bei lokalen Adressen mit einem Schrägstrich
947 (/) beginnen oder eine komplette URL bilden, die der Client
948 auflösen kann. Alternativ kann eine Nachricht für die
949 Anzeige im Browser angeboten werden. Beispiel:</p>
952 ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
953 ErrorDocument 404 /cgi-bin/falsche_urls.pl<br />
954 ErrorDocument 401 /info_zur_anmeldung.html<br />
955 ErrorDocument 403 "Der Zugriff ist nicht erlaubt."
958 <p>Außerdem kann der spezielle Wert <code>default</code> angegeben
959 werden, um die schlichte, hartkodierte Nachricht des Apache zu verwenden.
960 Es wird normalerweise nicht benötigt, doch <code>default</code>
961 stellt die einfach, im Apache hartkodierte Meldung in Konfigurationen
962 wieder her, die ansonsten von einem existierenden <transnote>zuvor
963 konfigurierten</transnote> <directive>ErrorDocument</directive> erben
967 ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
968 <Directory /web/docs><br />
970 ErrorDocument 404 default<br />
975 <p>Wenn Sie eine <directive>ErrorDocument</directive>-Anweisung
976 angeben, die auf eine entfernte URL weist (d.h. irgendetwas mit der
977 Methode <code>http</code> davor), beachten Sie bitte, dass der Apache
978 eine Umleitung zum Client sendet, um diesem mitzuteilen, wo das
979 Dokument zu finden ist, auch wenn das Dokument letztlich wieder zum
980 gleichen Server führt. Das hat mehrere Auswirkungen. Die
981 wichtigste ist, dass der Client nicht den Original-Statuscode
982 erhält sondern statt dessen einen Umleitungs-Statuscode. Dies
983 wiederum kann Web-Robots und andere Clients verwirren, die den
984 Statuscode dazu verwenden, herauszufinden ob eine URL gültig ist.
985 Wenn Sie eine entfernte URL in einer Anweisung
986 <code>ErrorDocument 401</code> verwenden, wird der Client
987 darüber hinaus nicht wissen, dass er den Benutzer zur Eingabe
988 eines Passwortes auffordern muss, da er den Statuscode 401 nicht
989 erhält. <strong>Deshalb müssen Sie sich auf ein lokales
990 Dokument beziehen, wenn Sie eine Anweisung <code>ErrorDocument
991 401</code> verwenden.</strong></p>
993 <p>Der Microsoft Internet Explorer (MSIE) ignoriert
994 standardmäßig serverseitig generierte Fehlermeldungen, wenn
995 sie "zu kurz" sind und ersetzt sie durch eigene "freundliche"
996 Fehlermeldungen. Die Größe variiert abhängig von der
997 Art des Fehlers, im Allgemeinen zeigt der MSIE jedoch den
998 serverseitig generierten Fehler, anstatt ihn zu verstecken, wenn Ihr
999 Fehlerdokument größer als 512 Bytes ist. Weitere Informationen
1001 href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
1002 >Q294807</a> in der Microsoft Knowledgebase article verfügbar.</p>
1004 <p>In Versionen vor 2.0 wurden Meldungen durch ein einzelnes
1005 vorangestelltes Anführungszeichen (") erkannt.</p>
1008 <seealso><a href="../custom-error.html">Dokumentation zu individuellen
1009 Fehlermeldungen</a></seealso>
1010 </directivesynopsis>
1013 <name>ErrorLog</name>
1014 <description>Ablageort, an dem der Server Fehler protokolliert</description>
1015 <syntax> ErrorLog <var>Dateiname</var>|syslog[:<var>facility</var>]</syntax>
1016 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and
1018 <contextlist><context>server config</context><context>virtual host</context>
1022 <p>Die Direktive <directive>ErrorLog</directive> bestimmt den Namen
1023 der Datei, in welcher der Server alle auftretenden Fehler protokolliert.
1024 Wenn <var>Dateiname</var> nicht absolut ist, wird er relativ zu <directive
1025 module="core">ServerRoot</directive> betrachtet.</p>
1027 <example><title>Beispiel</title>
1028 ErrorLog /var/log/httpd/error_log
1031 <p>Wenn der <var>Dateiname</var> mit einem senkrechten Strich (|,
1032 engl.: Pipe) beginnt, wird angenommen, dass es sich um einen Befehl
1033 handelt, der ausgeführt wird, um das Fehlerprotokolls zu
1036 <example><title>Beispiel</title>
1037 ErrorLog "|/usr/local/bin/httpd_errors"
1040 <p>Die Verwendung von <code>syslog</code> anstelle eines Dateinamens
1041 aktiviert die Protokollierung mittels syslogd(8), sofern das System
1042 es unterstützt. Als Voreinstellung wird der syslog-Typ (syslog
1043 facility) <code>local7</code> verwendet, Sie können dies jedoch
1044 auch überschreiben, indem Sie die Syntax
1045 <code>syslog:<var>facility</var></code> verwenden, wobei
1046 <var>facility</var> einer der Namen sein kann, die üblicherweise
1047 in syslog(1) dokumentiert sind.</p>
1049 <example><title>Beispiel</title>
1050 ErrorLog syslog:user
1053 <p>SICHERHEITSHINWEIS: Lesen Sie das Dokument <a
1054 href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a>
1055 zu Einzelheiten darüber, warum Ihre Sicherheit gefährdet
1056 sein kann, wenn das Verzeichnis, in dem die Log-Dateien gespeichert
1057 werden, für jemand anderen, als den Benutzer, der den Server
1058 gestartet hat, beschreibbar ist.</p>
1060 <note type="warning"><title>Anmerkung</title>
1061 <p>Bei der Eingabe eines Dateipfads auf nicht-Unix-Plattformen sollte
1062 darauf geachtet werden, nur (Vorwärts-)Schrägstriche zu
1063 verwenden, auch wenn die Plattform rückwärts gerichtete
1064 Schrägstriche (Backslashes) erlaubt. Im Allgemeinen ist es eine gute
1065 Idee, innerhalb der Konfigurationsdateien immer
1066 Vorwärts-Schrägstriche zu verwenden.</p>
1069 <seealso><directive module="core">LogLevel</directive></seealso>
1070 <seealso><a href="../logs.html">Apache-Log-Dateien</a></seealso>
1071 </directivesynopsis>
1074 <name>FileETag</name>
1075 <description>Dateiattribute, die zur Erstellung des HTTP-Response-Headers
1076 ETag verwendet werden</description>
1077 <syntax>FileETag <var>Komponente</var> ...</syntax>
1078 <default>FileETag INode MTime Size</default>
1079 <contextlist><context>server config</context><context>virtual host</context>
1080 <context>directory</context><context>.htaccess</context>
1082 <override>FileInfo</override>
1085 <p>Wenn dem Dokument eine Datei zugrundeliegt, bestimmt die Direktive
1086 <directive>FileETag</directive> die Dateiattribute, die zur Erstellung
1087 des HTTP-Response-Headers <code>ETag</code> (Entity-Tag) verwendet
1088 werden. (Der Wert von <code>ETag</code> wird bei der Cache-Verwaltung
1089 zur Einsparung von Netzwerk-Bandbreite benutzt.) Im Apache 1.3.22 und
1090 früher wurde der <code>ETag</code>-Wert <em>stets</em> aus
1091 der I-Node, der Größe und dem Datum der letzten
1092 Änderung (mtime) der Datei gebildet. Die Direktive
1093 <directive>FileETag</directive> erlaubt es Ihnen, zu bestimmen,
1094 welche dieser Eigenschaften -- falls überhaupt -- verwendet
1095 werden sollen. Die gültigen Schlüsselworte lauten:</p>
1098 <dt><strong>INode</strong></dt>
1099 <dd>Die I-Node-Nummer wird in die Berechnung mit einbezogen</dd>
1100 <dt><strong>MTime</strong></dt>
1101 <dd>Datum und Uhrzeit der letzten Änderung werden mit einbezogen</dd>
1102 <dt><strong>Size</strong></dt>
1103 <dd>Die Anzahl der Bytes in der Datei wird mit einbezogen</dd>
1104 <dt><strong>All</strong></dt>
1105 <dd>Alle verfügbaren Angaben werden verwendet. Die ist
1106 gleichbedeutend mit:
1107 <example>FileETag INode MTime Size</example></dd>
1108 <dt><strong>None</strong></dt>
1109 <dd>Es wird keine <code>ETag</code>-Angabe in die Antwort eingefügt,
1110 wenn dem Dokument eine Datei zugrundeliegt.</dd>
1113 <p>Den Schlüsselwörtern <code>INode</code>, <code>MTime</code>
1114 und <code>Size</code> kann entweder ein <code>+</code> oder ein
1115 <code>-</code> vorangestellt werden, was die Änderung einer
1116 Vorgabe erlaubt, die von einem größeren Umfeld
1117 geerbt wurde. Jedes Schlüselwort ohne ein solches Prefix
1118 hebt die ererbte Einstellung sofort und vollständig auf.</p>
1120 <p>Wenn die Konfiguration für ein Verzeichnis
1121 <code>FileETag INode MTime Size</code> enthält
1122 und die eines Unterverzeichnisses <code>FileETag -INode</code>,
1123 dann ist die Einstellung für das Unterverzeichnis (die an
1124 jedes Unter-Unterverzeichnis weitervererbt wird, welches dies nicht
1125 überschreibt) äquivalent mit
1126 <code>FileETag MTime Size</code>.</p>
1128 </directivesynopsis>
1130 <directivesynopsis type="section">
1132 <description>Enthält Direktiven, die sich nur auf passende Dateinamen
1133 beziehen</description>
1134 <syntax><Files <var>Dateiname</var>> ... </Files></syntax>
1135 <contextlist><context>server config</context><context>virtual host</context>
1136 <context>directory</context><context>.htaccess</context>
1138 <override>All</override>
1141 <p>Die Direktive <directive type="section">Files</directive>
1142 begrenzt die Reichweite der enthaltenen Anweisungen auf Dateinamen.
1143 Sie ist vergleichbar mit den Direktiven <directive
1144 module="core" type="section">Directory</directive> und <directive
1145 module="core" type="section">Location</directive>. Sie muss eine
1146 passende <code></Files></code>-Anweisung besitzen.
1147 Die innerhalb dieses Abschnittes angegebenen Direktiven werden auf
1148 jedes Objekt mit einem Basisnamen (letzte Komponente des Dateinamens)
1149 angewendet, der auf die angegebenen Dateinamen passt. <directive
1150 type="section">Files</directive>-Container werden, nachdem die
1151 <directive module="core" type="section">Directory</directive>-Container
1152 und <code>.htaccess</code>-Dateien gelesen sind, jedoch vor den
1153 <directive type="section" module="core">Location</directive>-Containern,
1154 in der Reihenfolge ihres Auftretens ausgeführt. Beachten Sie, dass
1155 <directive type="section">Files</directive>-Anweisungen innerhalb von
1156 <directive type="section" module="core">Directory</directive>-Containern
1157 auftreten können, um den Teil des Dateisystems einzuschränken,
1158 den sie betreffen.</p>
1160 <p>Das Argument <var>Dateiname</var> kann einen Dateinamen oder eine
1161 Zeichenkette mit Platzhaltern enthalten, wobei <code>?</code> auf ein
1162 einzelnes Zeichen passt und <code>*</code> auf eine beliebige Folge von
1163 Zeichen. Erweiterte reguläre Ausdrücke können ebenfalls
1164 verwendet werden, indem das Zeichen <code>~</code> hinzugefügt wird.
1165 Beispielsweise würde</p>
1168 <Files ~ "\.(gif|jpe?g|png)$">
1171 <p>auf die gebräuchlichsten Grafikformate im Internet passen.
1172 <directive module="core" type="section">FilesMatch</directive> wird
1173 jedoch bevorzugt.</p>
1175 <p>Beachten Sie bitte, dass die <directive
1176 type="section">Files</directive>-Container anders als <directive
1177 type="section" module="core">Directory</directive>- und <directive
1178 type="section" module="core">Location</directive>-Container innerhalb
1179 von <code>.htaccess</code>-Dateien verwendet werden können.
1180 Dies erlaubt den Anwendern auf Dateiebene die Kontrolle über ihre
1181 eigenen Dateien.</p>
1183 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1184 <Location> und <Files> arbeiten</a> für eine
1185 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1186 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1187 </directivesynopsis>
1189 <directivesynopsis type="section">
1190 <name>FilesMatch</name>
1191 <description>Enthält Direktiven, die für Dateinamen gelten, die
1192 auf einen regulären Ausdruck passen</description>
1193 <syntax><FilesMatch <var>regex</var>> ... </FilesMatch></syntax>
1194 <contextlist><context>server config</context><context>virtual host</context>
1195 <context>directory</context><context>.htaccess</context>
1197 <override>All</override>
1200 <p>Die Direktive <directive type="section">FilesMatch</directive>
1201 begrenzt wie die Direktive <directive module="core"
1202 type="section">Files</directive> die enthaltenen Anweisungen auf
1203 Dateinamen. Sie akzeptiert jedoch reguläre Ausdrücke.
1204 Beispielsweise würde</p>
1207 <FilesMatch "\.(gif|jpe?g|png)$">
1210 <p>auf die gebräuchlichsten Grafikformate im Internet passen.</p>
1213 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1214 <Location> und <Files> arbeiten</a> für eine
1215 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1216 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1217 </directivesynopsis>
1220 <name>ForceType</name>
1221 <description>Erzwingt die Auslieferung aller passendenden Dateien mit dem
1222 angegebenen MIME-Content-Type</description>
1223 <syntax>ForceType <var>MIME-Type</var>|None</syntax>
1224 <contextlist><context>directory</context><context>.htaccess</context>
1226 <override>FileInfo</override>
1227 <compatibility>Wurde im Apache 2.0 in den Core verschoben</compatibility>
1230 <p>Wenn sie innerhalb einer <code>.htaccess</code>-Datei, eines
1231 <directive type="section" module="core">Directory</directive>-,
1232 <directive type="section" module="core">Location</directive>-
1233 <directive type="section" module="core">Files</directive>-Containers
1234 angegeben wird, erzwingt die Direktive die Auslieferung aller
1235 entsprechenden Dateien mit dem Content-Type, der durch
1236 <var>MIME-Type</var> definiert wurde. Wenn Sie zum Beispiel ein
1237 Verzeichnis voller GIF-Dateien haben, die Sie nicht alle durch
1238 <code>.gif</code> kennzeichnen wollen, können Sie angeben:</p>
1244 <p>Beachten Sie bitte, dass die Direktive anders als <directive
1245 module="core">DefaultType</directive> alle MIME-Type-Zuordnungen
1246 überschreibt, einschließlich Dateiendungen, die einen
1247 Medientyp bezeichnen könnten.</p>
1249 <p>Sie können jede <directive>ForceType</directive>-Angabe
1250 durch die Verwendung des Wertes <code>None</code> überschreiben:</p>
1253 # erzwinge image/gif für alle Dateien:<br />
1254 <Location /images><br />
1256 ForceType image/gif<br />
1258 </Location><br />
1260 # hier jedoch normale MIME-Type-Zuordnungen:<br />
1261 <Location /images/mixed><br />
1263 ForceType None<br />
1268 </directivesynopsis>
1271 <name>HostnameLookups</name>
1272 <description>Aktiviert DNS-Lookups auf Client-IP-Adressen</description>
1273 <syntax>HostnameLookups On|Off|Double</syntax>
1274 <default>HostnameLookups Off</default>
1275 <contextlist><context>server config</context><context>virtual host</context>
1276 <context>directory</context></contextlist>
1279 <p>Diese Direktive aktiviert die DNS-Abfrage <transnote>ein sogenannter
1280 DNS-Lookup</transnote>, so dass Hostnamen protokolliert (und in
1281 <code>REMOTE_HOST</code> an CGIs/SSIs übergeben) werden könnnen.
1282 Der Wert <code>Double</code> bezieht sich auf ein
1283 Double-Reverse-DNS-Lookup. D.h. nachdem ein Reverse-Lookup
1284 durchgeführt wurde, wird dann auf dem Ergebnis ein
1285 Forward-Lookup ausgeführt. Wenigstens eine der IP-Adressen
1286 aus dem Forward-Lookup muss der Originaladresse entsprechen.
1287 (In der "tcpwrappers"-Terminologie wird dies <code>PARANOID</code>
1290 <p>Unabhängig von der Einstellung wird ein Double-Reverse-Lookup
1291 durchgeführt, wenn <module>mod_authz_host</module> zur
1292 Zugriffskontrolle per Hostnamen eingesetzt wird. Dies ist aus
1293 Sicherheitsgründen notwendig. Beachten Sie, dass das Ergebnis dieses
1294 Double-Reverse-Lookups nicht generell verfügbar ist, solange Sie
1295 nicht <code>HostnameLookups Double</code> setzen. Wenn beispielsweise
1296 nur <code>HostnameLookups On</code> angegeben ist und eine Anfrage
1297 für ein Objekt erfolgt, welches durch Hostnamen-Beschränkungen
1298 geschützt ist, dann wird CGIs nur das Ergebnis des
1299 Singel-Reverse-Lookups in <code>REMOTE_HOST</code> übergeben,
1300 egal ob das Doble-Reverse-Lookup fehlschlug oder nicht.</p>
1302 <p>Die Voreinstellung ist <code>Off</code>, um Netzwerktraffic bei den
1303 Angeboten einzusparen, die nicht tatsächlich Reverse-Lookups
1304 benötigen. Es ist auch für die Endanwender besser, da sie nicht
1305 die zusätzliche Wartezeit ertragen müssen, die ein Lookup mit
1306 sich bringt. Hoch frequentierte Angebote sollten diese Direktive auf
1307 <code>Off</code>lassen. Das Hilfsprogramm <a
1308 href="../programs/logresolve.html">logresolve</a>, das
1309 standardmäßig in das Unterverzeichnis <code>bin</code>
1310 Ihres Installationsverzeichnisses kompiliert wird, kann dazu verwendet
1311 werden, um offline Hostnamen zu protokollierten IP-Adressen
1314 </directivesynopsis>
1316 <directivesynopsis type="section">
1317 <name>IfDefine</name>
1318 <description>Schließt Direktiven ein, die nur ausgeführt werden,
1319 wenn eine Testbedingung beim Start wahr ist</description>
1320 <syntax><IfDefine [!]<var>Parametername</var>> ...
1321 </IfDefine></syntax>
1322 <contextlist><context>server config</context><context>virtual host</context>
1323 <context>directory</context><context>.htaccess</context>
1325 <override>All</override>
1328 <p>Der Container <code><IfDefine <var>Test</var>>...</IfDefine>
1329 </code> wird dazu verwendet, Direktiven als bedingt zu kennzeichnen.
1330 Die Direktiven innerhalb eines <directive
1331 type="section">IfDefine</directive>-Abschnittes werden nur ausgeführt,
1332 wenn <var>Test</var> wahr ist. Ist <var>Test</var> falsch, wird alles
1333 zwischen der Start- und Endemarkierung ignoriert.</p>
1335 <p>In der <directive type="section">IfDefine</directive>-Anweisung kann
1336 <var>Test</var> eine von zwei Formen annehmen:</p>
1339 <li><var>Parametername</var></li>
1341 <li><code>!</code><var>Parametername</var></li>
1344 <p>Im ersten Fall werden die Direktiven zwischen der Start- und
1345 Endemarkierung nur ausgeführt, wenn der Parameter namens
1346 <var>Parametername</var> definiert ist. Die zweite Form kehrt den
1347 Test um und führt die Direktiven nur dann aus, wenn
1348 <var>Parametername</var> <strong>nicht</strong> definiert ist.</p>
1350 <p>Das Argument <var>Parametername</var> ist ein sogenanntes
1351 "Define", das beim beim Start des Servers in der
1352 <code>httpd</code>-Befehlszeile durch <code>-D<var>Parameter</var></code>
1355 <p><directive type="section">IfDefine</directive>-Container können
1356 ineinander verschachtelt werden, um einfache Multi-Parameter-Tests
1357 zu implementieren. Beispiel:</p>
1360 httpd -DReverseProxy ...<br />
1363 <IfDefine ReverseProxy><br />
1365 LoadModule rewrite_module modules/mod_rewrite.so<br />
1366 LoadModule proxy_module modules/libproxy.so<br />
1371 </directivesynopsis>
1373 <directivesynopsis type="section">
1374 <name>IfModule</name>
1375 <description>Schließt Direktiven ein, die abhängig vom
1376 Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt
1377 werden</description>
1378 <syntax><IfModule [!]<var>Modulname</var>|<var>Modulbezeichner</var>>
1379 ... </IfModule></syntax>
1380 <contextlist><context>server config</context><context>virtual host</context>
1381 <context>directory</context><context>.htaccess</context>
1383 <override>All</override>
1384 <compatibility>Modulbezeichner sind ab Version 2.1
1385 verfügbar.</compatibility>
1389 <p>Der Container <code><IfModule
1390 <var>Test</var>>...</IfModule></code> wird dazu verwendet,
1391 Direktiven als abhängig von dem Vorhandensein eines speziellen
1392 Moduls zu kennzeichnen. Die Direktiven innerhalb eines <directive
1393 type="section">IfModule</directive>-Abschnitts werden nur
1394 ausgeführt, wenn <var>Test</var> wahr ist. Ist <var>Test</var>
1395 falsch, wird alles zwischen der Start- und Endemarkierung ignoriert.</p>
1397 <p>In der <directive type="section">IfModule</directive>-Anweisung
1398 kann <var>Test</var> eine von zwei Formen annehmen:</p>
1401 <li><var>Modul</var></li>
1403 <li><code>!</code><var>Modul</var></li>
1406 <p>Im ersten Fall werden die Direktiven zwischen der Start- und
1407 Endemarkierung nur ausgeführt, das Modul namens
1408 <var>Modul</var> im Apache enthalten ist -- entweder einkompiliert
1409 oder mittels <directive module="mod_so">LoadModule</directive>
1410 dynamisch geladen. Die zweite Form dreht den Test um und führt die
1411 Direktiven nur aus, wenn <var>Modul</var> <strong>nicht</strong>
1414 <p>Das Argument <var>Modul</var> kann entweder der Modulbezeichner oder
1415 der Dateiname des Moduls zum Zeitpunkt seiner Kompilierung sein.
1416 <code>rewrite_module</code> beispielsweise ist der Bezeichner und
1417 <code>mod_rewrite.c</code> ist der Dateiname. Wenn ein Modul aus mehreren
1418 Quelltext-Dateien besteht, verwenden Sie den Namen der Datei, welche die
1419 Zeichenfolge <code>STANDARD20_MODULE_STUFF</code> enthält.</p>
1421 <p><directive type="section">IfModule</directive>-Container können
1422 inneinander verschachtelt werden, um einfache Multi-Modul-Tests
1423 durchzuführen.</p>
1425 <p>Dieser Container sollte verwendet werden, wenn Sie eine
1426 Konfigurationsdatei benötigen, die unabhängig davon funktioniert,
1427 ob ein bestimmtes Modul verfügbar ist oder nicht. Normalerweise
1428 ist es nicht notwendig, Direktiven in <directive
1429 type="section">IfModule</directive>-Containern unterzubringen.</p>
1431 </directivesynopsis>
1434 <name>Include</name>
1435 <description>Fügt andere Konfigurationsdateien innerhalb der
1436 Server-Konfigurationsdatei ein</description>
1437 <syntax>Include <var>Dateiname</var>|<var>Verzeichnis</var></syntax>
1438 <contextlist><context>server config</context><context>virtual host</context>
1439 <context>directory</context>
1441 <compatibility>Die Platzhalter-Suche ist verfügbar seit
1442 2.0.41</compatibility>
1445 <p>Die Direktive erlaubt das Einfügen anderer Konfigurationsdateien
1446 in die Konfigurationsdatei des Servers.</p>
1448 <p>Shell-typische (<code>fnmatch()</code>) Platzhlaterzeichen können
1449 dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer
1450 Reihenfolge einzufügen. Wenn <directive>Include</directive>
1451 darüber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt,
1452 liest der Apache alle Dateien in diesem Verzeichnis und allen
1453 Unterverzeichnissen ein. Das Einfügen ganzer Verzeichnisse ist
1454 jedoch nicht empfehlenswert, da temporäre Dateien sehr leicht
1455 versehentlich in einem Verzeichnis zurückgelassen werden, was
1456 <code>httpd</code> scheitern lassen kann.</p>
1458 <p>Der angegebene Dateiname kann ein absoluter Pfad sein oder relativ zum
1459 <directive module="core">ServerRoot</directive>-Verzeichnis angegeben
1465 Include /usr/local/apache2/conf/ssl.conf<br />
1466 Include /usr/local/apache2/conf/vhosts/*.conf
1469 <p>Oder Sie geben Pfade relativ zu Ihrem <directive
1470 module="core">ServerRoot</directive>-Verzeichnis an:</p>
1473 Include conf/ssl.conf<br />
1474 Include conf/vhosts/*.conf
1477 <p>Der Aufruf von <code>apachectl configtest</code> liefert eine Liste
1478 der Dateien, die während des Konfigurations-Tests verarbeitet
1482 root@host# apachectl configtest<br />
1483 Processing config file: /usr/local/apache2/conf/ssl.conf<br />
1484 Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf<br />
1485 Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf<br />
1490 <seealso><a href="../programs/apachectl.html">apachectl</a></seealso>
1491 </directivesynopsis>
1494 <name>KeepAlive</name>
1495 <description>Aktiviert persistente HTTP-Verbindungen</description>
1496 <syntax>KeepAlive On|Off</syntax>
1497 <default>KeepAlive On</default>
1498 <contextlist><context>server config</context><context>virtual host</context>
1502 <p>Die Keep-Alive-Erweiterung von HTTP/1.0 und die
1503 HTTP/1.1-Funktionalität persistenter Verbindungen unterstützt
1504 langlebige HTTP-Sitzungen, die es erlauben, mehrere Anfragen über
1505 die gleich TCP-Verbindung zu senden. In einigen Fällen wurde eine
1506 Beschleunigung der Wartezeiten von beinahe 50% für HTML-Dokumente
1507 mit vielen Bildern festgestellt. Um Keep-Alive-Verbindungen zu aktivieren,
1508 setzen Sie <code>KeepAlive On</code>.</p>
1510 <p>Bei HTTP/1.0-Clients werden Keep-Alive-Verbindungen nur dann verwendet,
1511 wenn sie vom Client eigens angefordert werden. Desweiteren können
1512 Keep-Alive-Verbindungen bei einem HTTP/1.0-Client nur dann verwendet
1513 werden, wenn die Länge des Inhalts im Voraus bekannt ist. Dies
1514 impliziert, dass dynamische Inhalte wie CGI-Ausgaben, SSI-Seiten und
1515 servergenerierte Verzeichnisauflistungen im Allgemeinen keine
1516 Keep-Alive-Verbindungen mit HTTP/1.0-Clients verwenden. Bei
1517 HTTP/1.1-Clients sind Keep-Alive-Verbindungen Voreinstellung, solange
1518 nichts anderes angegeben ist. Wenn der Client es anfordert, wird
1519 Chunked-Encoding verwendet, um Inhalte mit unbekannter Länge
1520 über persistente Verbindungen zu senden.</p>
1523 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
1524 </directivesynopsis>
1527 <name>KeepAliveTimeout</name>
1528 <description>Zeitspanne, die der Server während persistenter Verbindungen
1529 auf nachfolgende Anfragen wartet</description>
1530 <syntax>KeepAliveTimeout <var>Sekunden</var></syntax>
1531 <default>KeepAliveTimeout 15</default>
1532 <contextlist><context>server config</context><context>virtual host</context>
1536 <p>Dies legt die Anzahl der Sekunden fest, die der Apache auf weitere
1537 Anfragen wartet, bevor er die Verbindung schließt. Nachdem einmal
1538 eine Anfrage entgegen genommen wurde, wird die durch die Direktive
1539 <directive module="core">Timeout</directive> festgelegte Auszeit
1542 <p>Auf stark belasteten Servern kann ein hoher
1543 <directive>KeepAliveTimeout</directive>-Wert zu Durchsatzminderungen
1544 führen. Je höher die Auszeit angegeben ist, desto länger
1545 ist der Apache damit beschäftigt, auf untätige Clients zu
1548 </directivesynopsis>
1550 <directivesynopsis type="section">
1552 <description>Beschränkt die eingeschlossenen Zugriffskontrollen auf
1553 bestimmte HTTP-Methoden</description>
1554 <syntax><Limit <var>Methode</var> [<var>Methode</var>] ... > ...
1555 </Limit></syntax>
1556 <contextlist><context>server config</context><context>virtual host</context>
1557 <context>directory</context><context>.htaccess</context>
1559 <override>All</override>
1562 <p>Zugriffskontrollen gelten normalerweise für <strong>alle</strong>
1563 Zugriffsmethoden, was normalerweise auch das gewünschte Verhalten ist.
1564 <strong>Im Allgemeinen sollten Zugriffskontrollen nicht in einen
1565 <directive type="section">Limit</directive>-Container gepackt
1566 werden.</strong></p>
1568 <p>Der Sinn der Direktive <directive type="section">Limit</directive>
1569 ist es, den Effekt der Zugriffskontrollen auf die angegebenen
1570 HTTP-Methoden zu beschränken. Bei allen anderen Methoden haben
1571 die in der <directive type="section">Limit</directive>-Gruppe
1572 enthaltenen Zugriffsbeschränkungen <strong>keine Wirkung</strong>.
1573 Im folgenden Beispiel gilt die Zugriffskontrolle nur für die
1574 Methoden <code>POST</code>, <code>PUT</code> und <code>DELETE</code>.
1575 Alle anderen Methoden bleiben ungeschützt:</p>
1578 <Limit POST PUT DELETE><br />
1580 Require valid-user<br />
1585 <p>Sie können eine oder mehrere der folgenden Methoden angeben:
1586 <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1587 <code>CONNECT</code>, <code>OPTIONS</code>,
1588 <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1589 <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1590 <code>LOCK</code> und <code>UNLOCK</code>. <strong>Die Methodennamen
1591 unterscheiden zwischen Groß- und Kleinschreibung.</strong> Wenn
1592 <code>GET</code> verwendet wird, sind <code>HEAD</code>-Anfragen
1593 ebenfalls eingeschränkt. Die <code>TRACE</code>-Methode kann nicht
1594 limitiert werden.</p>
1596 <note type="warning">
1597 Wenn es um Zugriffsbeschränkungen geht, sollte
1598 ein <directive module="core" type="section"
1599 >LimitExcept</directive>-Container sollte immmer einem <directive
1600 module="core" type="section">Limit</directive>-Container vorgezogen
1601 werden, da <directive module="core" type="section">LimitExcept</directive>
1602 einen Schutz gegen beliebige Methoden bietet.
1605 </directivesynopsis>
1607 <directivesynopsis type="section">
1608 <name>LimitExcept</name>
1609 <description>Beschränkt Zugriffskontrollen auf alle HTTP-Methoden
1610 außer den genannten</description>
1611 <syntax><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ...
1612 </LimitExcept></syntax>
1613 <contextlist><context>server config</context><context>virtual host</context>
1614 <context>directory</context><context>.htaccess</context>
1616 <override>All</override>
1619 <p><directive type="section">LimitExcept</directive> und
1620 <code></LimitExcept></code> werden dazu verwendet, eine Gruppe
1621 von Anweisungen zur Zugriffskontrolle zusammenzufassen, die dann auf
1622 jede HTTP-Methode angewendet werden, die <strong>nicht</strong>
1623 als Argument angegeben ist. D.h. dies ist das Gegenteil des
1624 <directive type="section" module="core">Limit</directive>-Containers
1625 und kann zur Steuerung von Standard- und nicht-Standard-/unbekannten
1626 Methoden verwendet werden. Für weitere Einzelheiten lesen Sie bitte
1627 die Beschreibung zu <directive module="core"
1628 type="section">Limit</directive>.</p>
1633 <LimitExcept POST GET><br />
1635 Require valid-user<br />
1637 </LimitExcept>
1641 </directivesynopsis>
1644 <name>LimitInternalRecursion</name>
1645 <description>Bestimmt die maximale Anzahl interner Umleitungen und
1646 verschachtelter Unteranfragen</description>
1647 <syntax>LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</syntax>
1648 <default>LimitInternalRecursion 10</default>
1649 <contextlist><context>server config</context><context>virtual host</context>
1651 <compatibility>Verfügbar ab Apache 2.0.47</compatibility>
1654 <p>Eine interne Umleitung erfolgt beispielsweise, wenn die Direktive
1655 <directive module="mod_actions">Action</directive> verwendet wird, welche
1656 die Originalanfrage intern zu einem CGI-Skript weiterleitet. Eine
1657 Unteranfrage <transnote>engl. Subrequest</transnote> ist ein Mechanismus des
1658 Apache, um herauszufinden, was bei einer URI geschehen würde, wäre
1659 sie angefordert worden. <module>mod_dir</module> z.B. verwendet
1660 Unteranfragen, um nach den Dateien zu suchen, die in der <directive
1661 module="mod_dir">DirectoryIndex</directive>-Anweisung aufgeführt
1664 <p><directive>LimitInternalRecursion</directive> bewahrt den Server vor
1665 einem Absturz, wenn er in eine Endlosschleife aus internen Umleitungen
1666 oder Unteranfragen hineinläuft. Derartige Schleifen werden
1667 gewöhnlich durch Fehlkonfiguration verursacht.</p>
1669 <p>Die Direktive setzt zwei verschiedene Begrenzungen, welche je Anfrage
1670 ausgewertet werden. Die erste <var>Zahl</var> bestimmt die maximale
1671 Anzahl der Umleitungen, die aufeinander folgen dürfen. Die zweite
1672 <var>Zahl</var> legt fest, wie tief Unteranfragen ineinander
1673 verschachtelt werden dürfen. Wenn Sie lediglich eine <var>Zahl</var>
1674 angeben, wird sie beiden Begrenzungen zugewiesen.</p>
1676 <example><title>Beispiel</title>
1677 LimitInternalRecursion 5
1680 </directivesynopsis>
1683 <name>LimitRequestBody</name>
1684 <description>Begrenzt die Gesamtgröße des vom Client gesendeten
1685 HTTP-Request-Body</description>
1686 <syntax>LimitRequestBody <var>Bytes</var></syntax>
1687 <default>LimitRequestBody 0</default>
1688 <contextlist><context>server config</context><context>virtual host</context>
1689 <context>directory</context><context>.htaccess</context>
1691 <override>All</override>
1694 <p>Die Direktive gibt die Anzahl der <var>Bytes</var> zwischen 0
1695 (unbegrenzt) und 2147483647 (2GB) an, die im Request-Body (Datenteil der
1696 Anfrage) erlaubt sind.</p>
1698 <p>Die Direktive <directive>LimitRequestBody</directive> erlaubt es dem
1699 Benutzer, die Größe des HTTP-Request-Bodys in dem Kontext zu
1700 begrenzen, in dem die Anweisung angegeben ist (Server, pro Verzeichnis,
1701 pro Datei oder pro Adresse). Wenn die Anfrage des Clients dieses Limit
1702 überschreitet, gibt der Server einen Fehler zurück anstatt die
1703 Anfrage zu bearbeiten. Die Größe des Datenteils einer Anfrage
1704 kann sehr stark variieren, abhängig von der Art der Ressource und
1705 den für diese Ressource erlaubten Methoden. CGI-Skripte verwenden
1706 den Datenteil üblicherweise zum Empfang von Formulardaten. Wird
1707 die <code>PUT</code>-Methode angewendet, dann muss der Wert mindestens
1708 so groß sein wie irgendeine Darstellungsform, die der Server
1709 für diese Ressource akzeptieren soll.</p>
1711 <p>Die Direktive gibt dem Serveradministrator eine größere
1712 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1713 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1716 <p>Wenn Sie beispielsweise das Hochladen von Dateien zu einer bestimmten
1717 Adresse erlauben, aber die Größe der hochgeladenen Dateien
1718 auf 100K beschränken wollen, können Sie die folgende Anweisung
1722 LimitRequestBody 102400
1726 </directivesynopsis>
1729 <name>LimitRequestFields</name>
1730 <description>Begrenzt die Anzahl der HTTP-Request-Header, die vom Client
1731 entgegengenommen werden</description>
1732 <syntax>LimitRequestFields <var>Anzahl</var></syntax>
1733 <default>LimitRequestFields 100</default>
1734 <contextlist><context>server config</context></contextlist>
1737 <p><var>Anzahl</var> ist ein Integer-Wert (eine positive Ganzzahl)
1738 zwischen 0 (unbegrenzt) und 32767. Die Voreinstellung wird durch die
1739 Konstante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (<code>100</code>
1740 bei der Auslieferung) zur Kompilierungszeit gesetzt.</p>
1742 <p>Die Direktive <directive>LimitRequestFields</directive> erlaubt es
1743 dem Serveradministrator, die maximale Anzahl der in einem HTTP-Request
1744 erlaubten HTTP-Request-Header zu verändern. Für den Server
1745 muss dieser Wert größer sein als die Anzahl der Headerzeilen,
1746 die ein normaler Client senden könnte. Die Anzahl der Request-Header,
1747 die ein gewöhnlicher Client verwendet, überschreitet selten 20
1748 Zeilen. Allerdings kann dies zwischen den verschiedenen
1749 Client-Ausführungen variieren, oft abhängig vom Ausmaß,
1750 mit dem der Anwender die genaue Content-Negotiation-Unterstützung
1751 seines Browsers konfiguriert hat. Optionale HTTP-Erweiterungen
1752 äußern sich oft in Form von HTTP-Headern.</p>
1754 <p>Die Direktive gibt dem Serveradministrator eine größere
1755 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1756 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1757 sein kann. Der Wert sollte erhöht werden, wenn normale Clients
1758 eine Fehlermeldung vom Server erhalten, die besagt, dass mit der Anfrage
1759 zu viele Headerzeilen gesendet wurden.</p>
1764 LimitRequestFields 50
1768 </directivesynopsis>
1771 <name>LimitRequestFieldSize</name>
1772 <description>Begrenzt die Länge des vom Client gesendeten
1773 HTTP-Request-Headers</description>
1774 <syntax>LimitRequestFieldsize <var>Bytes</var></syntax>
1775 <default>LimitRequestFieldsize 8190</default>
1776 <contextlist><context>server config</context></contextlist>
1779 <p>Die Direktive gibt die Anzahl der <var>Bytes</var> zwischen 0
1780 und dem Wert der zur Kompilierungszeit definierten Konstante
1781 <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (<code>8190</code> bei
1782 der Auslieferung) an, die in einem HTTP-Header erlaubt sind.</p>
1784 <p>Die Direktive <directive>LimitRequestFieldsize</directive> erlaubt es
1785 dem Serveradministrator, die maximale Größe eines
1786 HTTP-Request-Headers auf einen Wert unterhalb der normalen, im Server
1787 einkompilierten Größe des Eingabepuffers zu verringern.
1788 Für den Server muss der Wert groß genug sein, um eine beliebige
1789 Headerzeile einer normalen Client-Anfrage vorzuhalten. Die
1790 Größe variiert stark zwischen den verschiedenen
1791 Client-Ausführungen, oft abhängig vom Ausmaß, mit dem
1792 der Anwender die genaue Content-Negotiation-Unterstützung seines
1793 Browsers konfiguriert hat.</p>
1795 <p>Die Direktive gibt dem Serveradministrator eine größere
1796 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1797 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1803 LimitRequestFieldSize 4094
1806 <note>Unter normalen Umständen sollte die Voreinstellung nicht
1807 verändert werden.</note>
1809 </directivesynopsis>
1812 <name>LimitRequestLine</name>
1813 <description>Begrenzt die Länge der vom Client entgegengenommenen
1814 HTTP-Anfragezeile</description>
1815 <syntax>LimitRequestLine <var>Bytes</var></syntax>
1816 <default>LimitRequestLine 8190</default>
1817 <contextlist><context>server config</context></contextlist>
1820 <p>Die Direktive legt die Anzahl der <var>Bytes</var> zwischen 0 und
1821 dem Wert der zur Kompilierungszeit definierten Konstante
1822 <code>DEFAULT_LIMIT_REQUEST_LINE</code> (<code>8190</code> bei der
1823 Auslieferung) fest, die in der HTTP-Anfragezeile erlaubt sind.</p>
1825 <p>Die Direktive <directive>LimitRequestLine</directive> erlaubt es dem
1826 Serveradministrator, die maximale Größe der
1827 HTTP-Anfragezeile auf einen Wert unterhalb der normalen, im Server
1828 einkompilierten Größe des Eingabepuffers zu verringern. Da
1829 die Anfragezeile aus der HTTP-Methode, der URI und der Protokollversion
1830 besteht, bedeutet die <directive>LimitRequestLine</directive>-Direktive
1831 eine Beschränkung der Länge der für eine Anfrage an den
1832 Server erlaubten Anfrage-URI. Für den Server muss der Wert groß
1833 genug sein, um jeden seiner Ressourcennamen vorzuhalten,
1834 einschließlich aller Informationen, die im Query-String einer
1835 <code>GET</code>-Anfrage übergeben werden können.</p>
1837 <p>Die Direktive gibt dem Serveradministrator eine größere
1838 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1839 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1845 LimitRequestLine 4094
1848 <note>Unter normalen Umständen sollte die Voreinstellung nicht
1849 verändert werden.</note>
1851 </directivesynopsis>
1854 <name>LimitXMLRequestBody</name>
1855 <description>Begrenzt die Größe eines XML-basierten
1856 Request-Bodys</description>
1857 <syntax>LimitXMLRequestBody <var>Bytes</var></syntax>
1858 <default>LimitXMLRequestBody 1000000</default>
1859 <contextlist><context>server config</context><context>virtual host</context>
1860 <context>directory</context><context>.htaccess</context></contextlist>
1861 <override>All</override>
1864 <p>Dies gibt die Grenze für die maximale Größe (in Bytes)
1865 des XML-basierten Request-Bodys an. Der Wert <code>0</code> deaktiviert
1866 diese Prüfung.</p>
1871 LimitXMLRequestBody 0
1875 </directivesynopsis>
1877 <directivesynopsis type="section">
1878 <name>Location</name>
1879 <description>Wendet die enthaltenen Direktiven nur auf die entsprechenden
1880 URLs an</description>
1881 <syntax><Location
1882 <var>URL-Pfad</var>|<var>URL</var>> ... </Location></syntax>
1883 <contextlist><context>server config</context><context>virtual host</context>
1887 <p>Die Direktive <directive type="section">Location</directive>
1888 begrenzt die Reichweite der enthaltenen Anweisungen auf URLs.
1889 Sie ist der Direktive <directive type="section"
1890 module="core">Directory</directive> ähnlich und startet einen
1891 Abschnitt, der mit der Anweisung <code></Location></code>
1892 abgeschlossen wird. <directive
1893 type="section">Location</directive>-Container werden, nachdem die
1894 <directive type="section" module="core">Directory</directive>-Container
1895 und <code>.htaccess</code>-Dateien gelesen wurden, und nach den
1896 <directive type="section" module="core">Files</directive>-Containern, in
1897 der Reihenfolge ausgeführt, in der sie in der Konfigurationsdatei
1900 <p><directive type="section">Location</directive>-Abschnitte operieren
1901 vollständig außerhalb des Dateisystems. Dies hat mehrere
1902 Konsequenzen. An Wichtigsten, <directive
1903 type="section">Location</directive>-Anweisungen sollten nicht dafür
1904 verwendet werden, den Zugriff zu Teilen des Dateisystems zu steuern. Da
1905 mehrere unterschiedliche URLs auf die gleiche Stelle des Dateisystems
1906 zeigen können, könnte eine solche Zugriffskontrolle u.U.
1907 umgangen werden.</p>
1909 <note><title>Wann sollte<directive
1910 type="section">Location</directive> verwendet werden</title>
1912 <p>Verwenden Sie <directive type="section">Location</directive>, um
1913 Anweisungen auf Inhalte anzuwenden, die außerhalb des Dateisystems
1914 abgelegt sind. Benutzen Sie <directive
1915 type="section" module="core">Directory</directive> und <directive
1916 type="section" module="core">Files</directive> für Inhalte, die
1917 innerhalb des Dateisystems abgelegt sind. Eine Ausnahme bildet
1918 <code><Location /></code>, welches ein einfacher Weg ist, um eine
1919 Konfiguration auf den gesamten Server anzuwenden.</p>
1922 <p>Für alle nicht-Proxy-Anfragen ist die entsprechende URL
1923 ein URL-Pfad in der Form <code>/path/</code>. Es dürfen weder ein
1924 Schema, noch ein Hostname, noch ein Port, noch ein Query-String einbezogen
1925 werden. Für Proxy-Anfragen hat die Vergleichs-URL die Form
1926 <code>schema://servername/path</code>. Das Präfix muss angegeben
1929 <p>Die URL kann Platzhalter verwenden. In einer Zeichenfolge mit
1930 Platzhaltern entspricht <code>?</code> einem einzelnen Zeichen und
1931 <code>*</code>einer beliebigen Zeichenfolge.</p>
1933 <p>Erweiterte reguläre Ausdrücke können ebenfalls
1934 verwendet werden, indem das Zeichen <code>~</code> hinzugefügt
1935 wird. Beispielsweise würde</p>
1938 <Location ~ "/(extra|special)/data">
1941 <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code>
1942 oder <code>/special/data</code> enthalten. Die Direktive <directive
1943 type="section" module="core">LocationMatch</directive> verhält sich
1944 genauso wie <directive type="section">Location</directive> mit
1945 regulären Ausdrücken.</p>
1947 <p>Die Funktionalität von <directive
1948 type="section">Location</directive> ist insbesondere dann nützlich,
1949 wenn sie mit der <directive module="core">SetHandler</directive>-Direktive
1950 kombiniert wird. Um zum Beispiel Statusabfragen zu aktivieren, sie aber
1951 nur von Browsern aus <code>foo.com</code> zuzulassen, könnten Sie
1955 <Location /status><br />
1957 SetHandler server-status<br />
1958 Order Deny,Allow<br />
1960 Allow from .foo.com<br />
1965 <note><title>Anmerkung zu / (Schrägstrich, Slash)</title>
1966 <p>Das Slash-Zeichen hat eine besondere Bedeutung, je nachdem, wo es
1967 in der URL erscheint. Manche werden sein Verhalten vom Dateisystem
1968 gewohnt sein, wo mehrere aufeinanderfolgende Schrägstriche
1969 häufig zu einem Schrägstrich zusammengefaßt werden
1970 (<em>d.h.</em> <code>/home///foo</code> ist das gleiche wie
1971 <code>/home/foo</code>). Im URL-Raum ist dies nicht notwendigerweise
1972 genauso. Bei der Direktive <directive type="section"
1973 module="core">LocationMatch</directive> und der <directive type="section"
1974 >Location</directive>-Version mit regulären Ausdrücken
1975 müssen Sie explizit mehrere Schrägstriche angeben, wenn Sie
1976 genau dies beabsichtigen.</p>
1978 <p>Beispielsweise würde <code><LocationMatch ^/abc></code>
1979 auf die angeforderte URL <code>/abc</code> passen, nicht aber auf
1980 <code>//abc</code>. Die Direktive <directive type="section"
1981 >Location</directive> (ohne reguläre Ausdrücke) verhält
1982 sich ähnlich, wenn sie für Proxy-Anfragen verwendet wird.
1983 Wenn <directive type="section">Location</directive> (ohne
1984 reguläre Ausdrücke) jedoch für nicht-Proxy-Anfragen
1985 verwendet wird, werden stillscheigend mehrere Schrächstriche mit
1986 mit einem einzigen Schrägstrich gleichgesetzt. Geben Sie
1987 beispielsweise <code><Location /abc/def></code> an und die
1988 Anfrage lautet auf <code>/abc//def</code>, dann greift die Anweisung.</p>
1991 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1992 <Location> und <Files> arbeiten</a> für eine
1993 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1994 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1995 </directivesynopsis>
1997 <directivesynopsis type="section">
1998 <name>LocationMatch</name>
1999 <description>Wendet die enthaltenen Direktiven nur auf URLs an, die auf
2000 reguläre Ausdrücke passen</description>
2001 <syntax><LocationMatch
2002 <var>regex</var>> ... </LocationMatch></syntax>
2003 <contextlist><context>server config</context><context>virtual host</context>
2007 <p>Die Direktive <directive type="section">LocationMatch</directive>
2008 begrenzt die Reichweite der enthaltenen Anweisungen in der gleichen Weise
2009 wie <directive module="core" type="section">Location</directive> auf URLs.
2010 Sie verwendet jedoch reguläre Ausdrücke als Argument anstelle
2011 einer einfachen Zeichenkette. Beispielsweise würde</p>
2014 <LocationMatch "/(extra|special)/data">
2017 <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code>
2018 oder <code>/special/data</code> enthalten.</p>
2021 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
2022 <Location> und <Files> arbeiten</a> für eine
2023 Erläuterung, wie diese verschiedenen Abschnitte miteinander
2024 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
2025 </directivesynopsis>
2028 <name>LogLevel</name>
2029 <description>Steuert die Ausführlichkeit des Fehlerprotokolls</description>
2030 <syntax>LogLevel <var>Level</var></syntax>
2031 <default>LogLevel warn</default>
2032 <contextlist><context>server config</context><context>virtual host</context>
2036 <p><directive>LogLevel</directive> stellt die Ausführlichkeit
2037 der Nachrichten ein, die im Fehlerprotokoll aufgezeichnet werden (siehe
2038 Direktive <directive module="core">ErrorLog</directive>). Die folgenden,
2039 nach absteigender Aussagekraft sortierten <var>Level</var> sind
2043 <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
2046 <th><strong>Level</strong> </th>
2048 <th><strong>Beschreibung</strong> </th>
2050 <th><strong>Beispiel</strong> </th>
2054 <td><code>emerg</code> </td>
2056 <td>Notfall - das System ist unbenutzbar.</td>
2058 <td>"Child cannot open lock file. Exiting"
2059 <transnote>"Kindprozess kann die Lock-Datei nicht öffnen.
2060 Beende Programm"</transnote></td>
2064 <td><code>alert</code> </td>
2066 <td>Maßnahmen müssen unverzüglich ergriffen
2069 <td>"getpwuid: couldn't determine user name from uid"
2070 <transnote>"getpwuid: kann keinen Benutzernamen aus der UID
2071 ermitteln"</transnote></td>
2075 <td><code>crit</code> </td>
2077 <td>Kritischer Zustand.</td>
2079 <td>"socket: Failed to get a socket, exiting child"
2080 <transnote>"socket: Socket-Zuweisung fehlgeschlagen, beende
2081 Kindprozess"</transnote></td>
2085 <td><code>error</code> </td>
2087 <td>Fehlerbedingung.</td>
2089 <td>"Premature end of script headers"
2090 <transnote>"Vorzeitiges Ende der Skript-Header"</transnote></td>
2094 <td><code>warn</code> </td>
2098 <td>"child process 1234 did not exit, sending another SIGHUP"
2099 <transnote>"Kindprozess 1234 nicht beendet, sende ein weiteres
2100 SIGHUP"</transnote></td>
2104 <td><code>notice</code> </td>
2106 <td>Normaler, aber signifikanter Zustand.</td>
2108 <td>"httpd: caught SIGBUS, attempting to dump core in ..."
2109 <transnote>"httpd: SIGBUS empfangen, versuche Speicherabbild nach ...
2110 zu schreiben"</transnote></td>
2114 <td><code>info</code> </td>
2116 <td>Information.</td>
2118 <td>"Server seems busy, (you may need to increase
2119 StartServers, or Min/MaxSpareServers)..."
2120 <transnote>"Server scheint beschäftigt zu sein,
2121 (möglicherweise müssen Sie StartServers oder
2122 Min/MaxSpareServers erhöhen)"</transnote></td>
2126 <td><code>debug</code> </td>
2128 <td>Debug-Level-Nachrichten</td>
2130 <td>"Opening config file ..."
2131 <transnote>"Öffne Konfigurationsdatei ..."</transnote></td>
2135 <p>Geben Sie einen bestimmten Level an, denn werden Nachrichten von
2136 allen höheren Leveln ebenso angezeigt. <em>Z.B.:</em> Wenn
2137 <code>LogLevel info</code> eingestellt ist, dann werden Nachrichten der
2138 Log-Level <code>notice</code> und <code>warn</code> ebenso eingetragen.</p>
2140 <p>Es wird empfohlen, mindestens den Level <code>crit</code> zu
2149 <note><title>Hinweis</title>
2150 <p>Beim Protokollieren in eine reguläre Datei können
2151 Nachrichten des Levels <code>notice</code> nicht unterdrückt
2152 werden und werden daher immer protokolliert. Dies trifft allerdings
2153 nicht zu, wenn mittels <code>syslog</code> protokolliert wird.</p>
2156 </directivesynopsis>
2159 <name>MaxKeepAliveRequests</name>
2160 <description>Anzahl der Anfragen, die bei einer persistenten Verbindung
2161 zulässig sind</description>
2162 <syntax>MaxKeepAliveRequests <var>Anzahl</var></syntax>
2163 <default>MaxKeepAliveRequests 100</default>
2164 <contextlist><context>server config</context><context>virtual host</context>
2168 <p>Die Direktive <directive>MaxKeepAliveRequests</directive>
2169 begrenzt die Anzahl der Anfragen, die pro Verbindung zulässig sind,
2170 wenn <directive module="core" >KeepAlive</directive> eingeschaltet ist.
2171 Bei der Einstellung <code>0</code> sind unbegrenzt viele Anfragen
2172 erlaubt. Wir empfehlen für diese Einstellung einen hohen Wert
2173 für eine maximale Serverleistung.</p>
2178 MaxKeepAliveRequests 500
2181 </directivesynopsis>
2184 <name>NameVirtualHost</name>
2185 <description>Bestimmt eine IP-Adresse für den Betrieb namensbasierter
2186 virtueller Hosts</description>
2187 <syntax>NameVirtualHost <var>Adresse</var>[:<var>Port</var>]</syntax>
2188 <contextlist><context>server config</context></contextlist>
2191 <p>Die Direktive <directive>NameVirtualHost</directive> ist erforderlich,
2192 wenn Sie <a href="../vhosts/">namensbasierte virtuelle Hosts</a>
2193 konfigurieren möchten.</p>
2195 <p>Obwohl <var>Adresse</var> eine Hostname sein kann, wird empfohlen,
2196 dass Sie stets eine IP-Adresse verwenden, z.B.:</p>
2199 NameVirtualHost 111.22.33.44
2202 <p>Mit der <directive>NameVirtualHost</directive>-Anweisung geben Sie
2203 die IP-Adresse an, unter der der Server Anfragen für
2204 namensbasierte virtuelle Hosts entgegennimmt. Das ist üblicherweise
2205 die Adresse, zu der die Namen Ihrer namensbasierten virtuellen Hosts
2206 aufgelöst werden. Falls eine Firewall oder ein anderer Proxy die
2207 Anfrage in Empfang nimmt und Sie zu einer weiteren IP-Adresse des Servers
2208 weiterleitet, müssen Sie die IP-Adresse der physikalischen
2209 Schnittstelle der Maschine angeben, welche die Anfragen bedient.
2210 Wenn Sie mehrere namensbasierte Hosts an verschiedenen Adressen
2211 betreiben, wiederholen Sie einfach die Anweisung für jede
2214 <note><title>Anmerkung</title>
2215 <p>Beachten Sie, dass der "Hauptserver" und jeder
2216 <code>_default_</code>-Server <strong>niemals</strong> bei einer
2217 Anfrage an einer <directive>NameVirtualHost</directive>-IP-Adresse
2218 bedient wird (es sei denn, Sie geben aus irgendwelchen Gründen
2219 <directive>NameVirtualHost</directive> an, definieren dann aber keine
2220 <directive>VirtualHost</directive>s für diese Adresse).</p>
2223 <p>Optional können Sie die Nummer eines Ports angeben, an dem
2224 namensbasierte virtuelle Hosts verwendet werden sollen. Beispiel:</p>
2227 NameVirtualHost 111.22.33.44:8080
2230 <p>IPv6-Adressen müssen, wie im folgenden Beispiel angegeben, in
2231 eckige Klammern eingeschlossen werden:</p>
2234 NameVirtualHost [fe80::a00:20ff:fea7:ccea]:8080
2237 <p>Um an allen Schnittstellen Anfragen zu empfangen, können Sie
2238 <code>*</code> als Argument verwenden.</p>
2244 <note><title>Argument der Direktive <directive
2245 type="section">VirtualHost</directive></title>
2246 <p>Beachten Sie, dass das Argument der <directive
2247 type="section">VirtualHost</directive>-Anweisung exakt auf das Argument
2248 der <directive>NameVirtualHost</directive>-Anweisung passen muss.</p>
2251 NameVirtualHost 1.2.3.4<br />
2252 <VirtualHost 1.2.3.4><br />
2254 </VirtualHost><br />
2258 <seealso><a href="../vhosts/">Dokumentation zu virtuellen Hosts</a></seealso>
2259 </directivesynopsis>
2262 <name>Options</name>
2263 <description>Definiert, welche Eigenschaften oder Funktionen in einem
2264 bestimmten Verzeichnis verfügbar sind</description>
2266 [+|-]<var>Option</var> [[+|-]<var>Option</var>] ...</syntax>
2267 <default>Options All</default>
2268 <contextlist><context>server config</context><context>virtual host</context>
2269 <context>directory</context><context>.htaccess</context>
2271 <override>Options</override>
2274 <p>Die Direktive <directive>Options</directive> steuert, welche
2275 Eigenschaften bzw. Funktionen in einem bestimmten Verzeichnis
2276 verfügbar sind.</p>
2278 <p><var>Option</var> kann auf <code>None</code> gesetzt werden, wobei
2279 keine der besonderen Eigenschaften verfügbar sind, oder auf eines
2280 oder mehrere der folgenden:</p>
2283 <dt><code>All</code></dt>
2285 <dd>Alle Optionen außer <code>MultiViews</code>. Dies ist
2286 die Voreinstellung.</dd>
2288 <dt><code>ExecCGI</code></dt>
2290 <dd>Die Ausführung von CGI-Skripten, welche <module>mod_cgi</module>
2291 verwenden, ist erlaubt.</dd>
2293 <dt><code>FollowSymLinks</code></dt>
2295 <dd>Der Server folgt symbolischen Links in diesem Verzeichnis.
2297 <p>Auch wenn der Server symbolischen Links folgt, bedeutet dies
2298 <em>nicht</em>, dass der zum Abgleich gegen <directive type="section"
2299 module="core">Directory</directive>-Abschnitte verwendete Pfadname
2301 <p>Beachten Sie auch, dass diese Option innerhalb eines
2302 <directive type="section" module="core">Location</directive>-Abschnitts
2303 <strong>ignoriert wird</strong>.</p>
2306 <dt><code>Includes</code></dt>
2309 Server Side Includes, die von <module>mod_include</module> bereitgestellt
2310 werden, sind erlaubt.</dd>
2312 <dt><code>IncludesNOEXEC</code></dt>
2314 <dd>Server Side Includes sind erlaubt, <code>#exec cmd</code>
2315 und <code>#exec cgi</code> sind jedoch deaktiviert. Es ist aber noch
2316 möglich, CGI-Skripte aus
2317 <directive module="mod_alias">ScriptAlias</directive>-Verzeichnissen mittels
2318 <code>#include virtual</code> einzubinden.</dd>
2320 <dt><code>Indexes</code></dt>
2322 <dd>Wenn eine URL, die auf ein Verzeichnis zeigt, in dem sich keine durch
2323 <directive module="mod_dir">DirectoryIndex</directive> definierte
2324 Indexdatei (<em>z.B.</em> <code>index.html</code>) befindet, dann liefert
2325 <module>mod_autoindex</module> eine formatierte Auflistung des
2326 Verzeichnisses zurück.</dd>
2328 <dt><code>MultiViews</code></dt>
2330 <dd>"MultiViews" sind bei der Verwendung von
2331 <module>mod_negotiation</module> erlaubt (siehe <a
2332 href="../content-negotiation.html">Content-Negotiation</a>).</dd>
2334 <dt><code>SymLinksIfOwnerMatch</code></dt>
2336 <dd>Der Server folgt nur symbolischen Links, bei denen die Zieldatei
2337 bzw. das Zielverzeichnis der gleichen Benutzerkennung gehört, wie
2339 <note><title>Anmerkung</title> Diese Option wird innerhalb eines
2340 <directive module="core" type="section">Location</directive>-Abschnitts
2341 ignoriert.</note></dd>
2344 <p>Wenn mehrere <directive>Options</directive> auf ein Verzeichnis
2345 angewandt werden können, dann wird normalerweise die
2346 spezifischste <transnote>Gemeint ist die zuletzt
2347 ausgeführte Option.</transnote> verwendet und alle anderen werden
2348 ignoriert; die Optionen werden nicht vermischt. (Siehe auch <a
2349 href="../sections.html#mergin">Wie Abschnitte zusammengeführt
2350 werden.</a>.) Wenn jedoch <em>allen</em> Optionen der
2351 <directive>Options</directive>-Anweisung eines der Zeichen
2352 <code>+</code> oder <code>-</code> vorangestellt wird, werden die Optionen
2353 zusammengemischt. Jede Option mit vorangestelltem <code>+</code> wird
2354 zu den momentan gültigen Optionen hinzugefügt und jede Option
2355 mit vorangestelltem <code>-</code> wird aus den derzeit gültigen
2356 Optionen entfernt.</p>
2358 <p>So wird zum Beispiel ohne die Zeichen <code>+</code> und
2362 <Directory /web/docs><br />
2364 Options Indexes FollowSymLinks<br />
2366 </Directory><br />
2368 <Directory /web/docs/spec><br />
2370 Options Includes<br />
2375 <p>für das Verzeichnis <code>/web/docs/spec</code> wird jetzt
2376 lediglich <code>Includes</code> gesetzt. Wenn die zweite
2377 <directive>Options</directive>-Anweisung jedoch <code>+</code>-
2378 und <code>-</code>-Zeichen verwenden würde,</p>
2381 <Directory /web/docs><br />
2383 Options Indexes FollowSymLinks<br />
2385 </Directory><br />
2387 <Directory /web/docs/spec><br />
2389 Options +Includes -Indexes<br />
2394 <p>dann würden die Optionen <code>FollowSymLinks</code> und
2395 <code>Includes</code> für das Verzeichnis <code>/web/docs/spec</code>
2398 <note><title>Anmerkung</title>
2399 <p>Die Verwendung von <code>-IncludesNOEXEC</code> oder
2400 <code>-Includes</code> deaktiviert Server Side Includes unabhängig
2401 von der vorigen Einstellung vollständig.</p>
2404 <p>Die Voreinstellung ist <code>All</code>, sofern keine anderen Angaben
2407 </directivesynopsis>
2410 <name>Require</name>
2411 <description>Wählt die authentisierten Benutzer aus, die auf eine
2412 Ressource zugreifen können</description>
2413 <syntax>Require <var>Name</var> [<var>Name</var>] ...</syntax>
2414 <contextlist><context>directory</context><context>.htaccess</context>
2416 <override>AuthConfig</override>
2419 <p>Die Direktive wählt aus, welche authentisierten Benutzer auf ein
2420 Verzeichnis zugreifen dürfen. Folgende Syntax ist erlaubt:</p>
2423 <dt><code>Require user <var>User-ID</var> [<var>User-ID</var>]
2425 <dd>Nur die genannten Benutzer dürfen auf die Ressource
2428 <dt><code>Require group <var>Gruppenname</var> [<var>Gruppenname</var>]
2430 <dd>Nur Benutzer der genannten Gruppen dürfen auf die
2431 Ressource zugreifen.</dd>
2433 <dt><code>Require valid-user</code></dt>
2434 <dd>Alle gültigen Benutzer dürfen auf die Ressource
2438 <p><directive>Require</directive> muss von den Direktiven
2439 <directive module="core">AuthName</directive> und <directive
2440 module="core">AuthType</directive> sowie Direktiven wie
2441 <directive module="mod_authn_file">AuthUserFile</directive>
2442 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
2443 (zur Definition von Benutzern und Gruppen) begleitet werden, um
2444 korrekt zu funktionieren. Beispiel:</p>
2447 AuthType Basic<br />
2448 AuthName "geschütztes Verzeichnis"<br />
2449 AuthUserFile /web/users<br />
2450 AuthGroupFile /web/groups<br />
2454 <p>Zugriffskontrollen, die in dieser Form angewandt werden, gelten
2455 für <strong>alle</strong> Methoden. <strong>Dies ist normalerweise
2456 gewünscht.</strong> Wenn Sie Zugriffskontrollen nur auf bestimmte
2457 Methoden anwenden möchten, während andere Methoden
2458 ungeschützt bleiben, dann müssen Sie die
2459 <directive>Require</directive>-Anweisung innerhalb eines
2460 <directive module="core" type="section">Limit</directive>-Abschnitts
2463 <seealso><directive module="core">Satisfy</directive></seealso>
2464 <seealso><module>mod_authz_host</module></seealso>
2465 </directivesynopsis>
2468 <name>RLimitCPU</name>
2469 <description>Begrenzt den CPU-Verbrauch von Prozessen, die von
2470 Apache-Kindprozessen gestartet wurden</description>
2471 <syntax>RLimitCPU <var>Sekunden</var>|max [<var>Sekunden</var>|max]</syntax>
2472 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2473 <contextlist><context>server config</context><context>virtual host</context>
2474 <context>directory</context><context>.htaccess</context></contextlist>
2475 <override>All</override>
2478 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2479 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2480 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2481 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2482 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2483 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2484 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2485 der anfänglichen Startphase.</p>
2487 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2488 Apache-Kindprozessen abgespalten werden, nicht auf die
2489 Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und
2490 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2491 abgespalten werden, wie z.B. Protokollierung.</p>
2493 <p>CPU-Ressourcenbegrenzung wird in Sekunden pro Prozess
2494 ausgedrückt.</p>
2496 <seealso><directive module="core">RLimitMEM</directive></seealso>
2497 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2498 </directivesynopsis>
2501 <name>RLimitMEM</name>
2502 <description>Begrenzt den Speicherverbrauch von Prozessen, die von
2503 Apache-Kindprozessen gestartet wurden</description>
2504 <syntax>RLimitMEM <var>Bytes</var>|max [<var>Bytes</var>|max]</syntax>
2505 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2506 <contextlist><context>server config</context><context>virtual host</context>
2507 <context>directory</context><context>.htaccess</context></contextlist>
2508 <override>All</override>
2511 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2512 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2513 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2514 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2515 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2516 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2517 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2518 der anfänglichen Startphase.</p>
2520 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2521 Apache-Kindprozessen abgespalten werden, nicht auf die
2522 Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und
2523 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2524 abgespalten werden, wie z.B. Protokollierung.</p>
2526 <p>Die Begrenzung des Speicherverbrauchs wird in Bytes pro Prozess
2527 ausgedrückt.</p>
2529 <seealso><directive module="core">RLimitCPU</directive></seealso>
2530 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2531 </directivesynopsis>
2534 <name>RLimitNPROC</name>
2535 <description>Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet
2536 werden können, der ihrerseits von Apache-Kinprozessen gestartet
2537 wurden</description>
2538 <syntax>RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</syntax>
2539 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2540 <contextlist><context>server config</context><context>virtual host</context>
2541 <context>directory</context><context>.htaccess</context></contextlist>
2542 <override>All</override>
2545 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2546 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2547 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2548 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2549 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2550 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2551 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2552 der anfänglichen Startphase.</p>
2554 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2555 Apache-Kindprozessen abgespalten werden, nicht auf die
2556 Apache-Kindprozesse selbst. Dies beinhaltet CGI-Skripte und
2557 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2558 abgespalten werden, wie z.B. Protokollierung.</p>
2560 <p>Prozessbegrenzungen steuern die Anzahl der Prozesse pro Benutzer.</p>
2562 <note><title>Anmerkung</title>
2563 <p>Wenn CGI-Prozesse nicht unter anderen Benutzerkennungen als der
2564 User-ID des Webservers laufen, dann beschränkt diese Direktive
2565 die Anzahl der Prozesse, die der Server selbst erstellen kann.
2566 Kennzeichen einer solchen Situation sind
2567 <strong><code>cannot fork</code></strong>-Meldungen
2568 <transnote><code>kann nicht abspalten</code></transnote> in der
2569 Datei <code>error_log</code>.</p>
2572 <seealso><directive module="core">RLimitMEM</directive></seealso>
2573 <seealso><directive module="core">RLimitCPU</directive></seealso>
2574 </directivesynopsis>
2577 <name>Satisfy</name>
2578 <description>Zusammenspiel von rechnerbasierter Zugriffskontrolle und
2579 Benutzerauthentisierung</description>
2580 <syntax>Satisfy Any|All</syntax>
2581 <default>Satisfy All</default>
2582 <contextlist><context>directory</context><context>.htaccess</context>
2584 <override>AuthConfig</override>
2585 <compatibility>Wird seit Version 2.0.51 von <directive module="core"
2586 type="section">Limit</directive> und <directive module="core"
2587 type="section">LimitExcept</directive> beeinflusst</compatibility>
2590 <p>Verfahrensweise für den Zugriff, falls sowohl <directive
2591 module="mod_authz_host">Allow</directive> als auch <directive
2592 module="core">Require</directive> verwendet werden. Der Parameter kann
2593 entweder <code>All</code> oder <code>Any</code> sein. Die Direktive ist
2594 nur dann nützlich, wenn der Zugriff zu einem bestimmten Bereich
2595 durch Benutzername/Passwort <em>und</em> Clientrechner-Adressen
2596 eingeschränkt ist. In diesem Fall verlangt die Voreinstellung
2597 (<code>All</code>), dass der Client die Adressbeschränkung passiert
2598 <em>und</em> eine gültige Benutzerkennung und ein gültiges
2599 Passwort übermittelt. Mit der Auswahl <code>Any</code> wird dem
2600 Client der Zugriff erlaubt, wenn er entweder die Rechner-Beschänkung
2601 passiert oder einen gültigen Benutzernamen und ein gültiges
2602 Passwort übermittelt. Dies kann verwendet werden, um einen Bereich
2603 mit einem Passwort zu schützen, jedoch Clients von bestimmten
2604 Adressen ohne Abfrage des Passwortes zuzulassen.</p>
2606 <p>Wenn Sie beispielsweise möchten, dass Personen aus Ihrem
2607 privaten Netzwerk unbechänkten Zugriff zu Teilen Ihres
2608 Webangebots haben, jedoch verlangen, dass Personen außerhalb
2609 Ihres privaten Netzwerks ein Passwort übergeben müssen,
2610 können Sie eine Konfiguration ähnlich der folgenden
2614 Require valid-user<br />
2615 Allow from 192.168.1<br />
2619 <p>Seit Version 2.0.51 können
2620 <directive>Satisfy</directive>-Anweisungen durch <directive module="core"
2621 type="section">Limit</directive>- und <directive module="core"
2622 type="section">LimitExcept</directive>-Abschnitte auf bestimmte Methoden
2623 beschränkt werden.</p>
2625 <seealso><directive module="mod_authz_host">Allow</directive></seealso>
2626 <seealso><directive module="core">Require</directive></seealso>
2627 </directivesynopsis>
2630 <name>ScriptInterpreterSource</name>
2631 <description>Methode zur Ermittlung des Interpreters von
2632 CGI-Skripten</description>
2633 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
2634 <default>ScriptInterpreterSource Script</default>
2635 <contextlist><context>server config</context><context>virtual host</context>
2636 <context>directory</context><context>.htaccess</context></contextlist>
2637 <override>FileInfo</override>
2638 <compatibility>ausschließlich Win32;
2639 Die Option <code>Registry-Strict</code> ist verfügbar seit Apache
2640 2.0.</compatibility>
2643 <p>Die Direktive steuert, wie der Apache den Interpreter zur Ausführung
2644 von CGI-Skripten bestimmt. Die Voreinstellung ist <code>Script</code>. Dies
2645 veranlaßt den Apache, den Interpreter zu verwenden, auf den die
2646 Shebang-Zeile (erste Zeile, beginnt mit <code>#!</code>) im Skript zeigt.
2647 Auf Win32-Systemen sieht diese Zeile üblicherweise so aus:</p>
2650 #!C:/Perl/bin/perl.exe
2653 <p>oder, wenn <code>perl</code> im Pfad (Umgebungsvariable <code>PATH</code>) liegt,
2660 <p>Die Einstellung <code>ScriptInterpreterSource Registry</code>
2661 veranlaßt eine Suche in <code>HKEY_CLASSES_ROOT</code> der
2662 Windows-Registrierungsdatenbank und verwendet die Endung der Skript-Datei
2663 (z.B. <code>.pl</code>) als Suchargument. Der durch den Unterschlüssel
2664 <code>Shell\ExecCGI\Command</code> oder, falls dieser nicht existiert,
2665 <code>Shell\Open\Command</code> definierte Befehl wird zum Öffnen der
2666 Skript-Datei verwendet. Wenn der Schlüssel zur Dateiendung oder
2667 beide Unterschlüssel fehlen, dann verwendet der Apache die Option
2668 <code>Script</code>.</p>
2670 <note type="warning"><title>Sicherheit</title>
2671 <p>Seien Sie vorsichtig, <code>ScriptInterpreterSource Registry</code> bei
2672 Verzeichnissen zu verwenden, auf die eine <directive
2673 module="mod_alias">ScriptAlias</directive>-Anweisung zeigt, denn der
2674 Apache versucht <strong>jede</strong> Datei innerhalb des Verzeichnisses
2675 auszuführen. Die Einstellung <code>Registry</code> kann
2676 unerwünschte Programmaufrufe bei Dateien verursachen, die
2677 üblicherweise nicht ausgeführt werden. Auf den meisten
2678 Windows-Systemen beispielsweise startet der voreingestellte
2679 Öffnen-Befehl für <code>.htm</code>-Dateien den Microsoft
2680 Internet Explorer, so dass jede HTTP-Anfrage nach einer existierenden
2681 <code>.htm</code>-Datei im Skript-Verzeichnis den Browser im Hintergrund
2682 starten würde. Dies ist eine wirksame Methode, Ihr System binnen
2683 etwa einer Minute zum Absturz zu bringen.</p>
2686 <p>Die seit Apache 2.0 neue Option <code>Registry-Strict</code>
2687 macht das gleiche wie <code>Registry</code>, verwendet jedoch nur den
2688 Unterschlüssel <code>Shell\ExecCGI\Command</code>. Der Schlüssel
2689 <code>ExecCGI</code> ist gewöhnlich nicht voreingestellt. Er muss
2690 manuell eingerichtet werden und schützt Ihr System so for
2691 versehentlichen Programmaufrufen.</p>
2693 </directivesynopsis>
2696 <name>ServerAdmin</name>
2697 <description>E-Mail-Adresse, die der Server in Fehlermeldungen einfügt,
2698 welche an den Client gesendet werden</description>
2699 <syntax>ServerAdmin <var>E-Mail-Adresse</var>|<var>URL</var></syntax>
2700 <contextlist><context>server config</context><context>virtual host</context>
2704 <p><directive>ServerAdmin</directive> legt die Kontaktadresse fest,
2705 die der Server in jede Fehlermeldung einfügt, die er an den
2706 Client zurückschickt. Wenn <code>httpd</code> das übergebene
2707 Argument nicht als URL erkennt, nimmt er an, dess es sich um eine
2708 <var>E-Mail-Adresse</var> handelt und stellt in Hyperlinks
2709 <code>mailto:</code> voran. Es ist jedoch sogar sinnvoll, eine
2710 E-Mail-Adresse zu verwenden, da viele CGI-Skripte davon ausgehen. Wenn Sie
2711 eine URL verwenden möchten, sollten Sie auf einem anderen unter Ihrer
2712 Kontrolle stehenden Server verweisen. Andernfalls können Besucher Sie
2713 im Fehlerfall möglicherweise nicht kontaktieren.</p>
2715 <p>Es kann sich lohnen, hierfür eine reservierte Adresse
2719 ServerAdmin www-admin@foo.example.com
2722 <p>da Anwender nicht unbedingt erwähnen, dass sie vom Server
2725 </directivesynopsis>
2728 <name>ServerAlias</name>
2729 <description>Alternativer Name für einen Host, der verwendet wird, wenn
2730 Anfragen einem namensbasierten virtuellen Host zugeordnet werden</description>
2731 <syntax>ServerAlias <var>Hostname</var> [<var>Hostname</var>] ...</syntax>
2732 <contextlist><context>virtual host</context></contextlist>
2735 <p>Die Direktive <directive>ServerAlias</directive> bestimmt die
2736 alternativen Namen eines Hosts zur Verwendung mit <a
2737 href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>.</p>
2740 <VirtualHost *><br />
2741 ServerName server.domain.com<br />
2742 ServerAlias server server2.domain.com server2<br />
2744 </VirtualHost>
2747 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2749 </directivesynopsis>
2752 <name>ServerName</name>
2753 <description>Rechnername und Port, die der Server dazu verwendet, sich
2754 selbst zu identifizieren</description>
2756 <var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</syntax>
2757 <contextlist><context>server config</context><context>virtual host</context>
2759 <compatibility>Diese Direktive löst in Version 2.0 die
2760 Funktionalität der Direktive <directive>Port</directive> aus
2761 Version 1.3 ab.</compatibility>
2764 <p>Die Direktive <directive>ServerName</directive> bestimmt den
2765 Rechnernamen und Port, den der Server dazu verwendet, sich selbst
2766 zu identifizieren. Diese werden bei der Erstellung von Umleitungs-URLs
2767 benötigt. Wenn beispielsweise der Name der Maschine, die den Webserver
2768 beherbergt, <code>simple.example.com</code> lautet, die Maschine jedoch
2769 auch einen DNS-Alias <code>www.example.com</code> besitzt und Sie den
2770 Webserver so identifizieren möchten, sollten Sie die folgende
2771 Anweisung verwenden:</p>
2774 ServerName www.example.com:80
2777 <p>Wenn kein <directive>ServerName</directive> angegeben wurde,
2778 dann versucht der Server den Rechnernamen mittels eines Reverse-Lookup
2779 herzuleiten. Wenn kein Port in der
2780 <directive>ServerName</directive>-Anweisung angegeben wurde, dann
2781 verwendet der Server den Port der eingegangenen Anfrage. Für eine
2782 optimale Zuverlässigkeit und Berechenbarkeit sollten Sie einen
2783 eindeutigen Rechnernamen und Port angeben, in dem Sie die Direktive
2784 <directive>ServerName</directive> verwenden.</p>
2786 <p>Wenn Sie <a href="../vhosts/name-based.html">namensbasierte
2787 virtuelle Hosts</a> verwenden, gibt <directive>ServerName</directive>
2788 innerhalb eines <directive type="section"
2789 module="core">VirtualHost</directive>-Abschnitts an, welcher
2790 Hostname im <code>Host:</code>-Header der Anfrage auftauchen muss,
2791 damit sie diesem virtuellen Host zugeordnet wird.</p>
2793 <p>Lesen Sie bitte die Beschreibung der Direktive <directive
2794 module="core">UseCanonicalName</directive> für Einstellungen, die
2795 bestimmen, ob selbstreferenzierende URLs (z.B. vom Modul
2796 <module>mod_dir</module>) auf den angegebenen Port zeigen oder auf die
2797 Portnummern die in der Anfrage des Clients angegeben ist.</p>
2800 <seealso><a href="../dns-caveats.html">Probleme bezüglich DNS und
2801 Apache</a></seealso>
2802 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2804 <seealso><directive module="core">UseCanonicalName</directive></seealso>
2805 <seealso><directive module="core">NameVirtualHost</directive></seealso>
2806 <seealso><directive module="core">ServerAlias</directive></seealso>
2807 </directivesynopsis>
2810 <name>ServerPath</name>
2811 <description>Veralteter URL-Pfad für einen namensbasierten
2812 virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen
2814 <syntax>ServerPath <var>URL-Pfad</var></syntax>
2815 <contextlist><context>virtual host</context></contextlist>
2818 <p>Die Direktive <directive>ServerPath</directive> legt den
2819 veralteten <transnote>Gemeint ist eigentlich "Altlast" aufgrund
2820 antiquierter Clients.</transnote> URL-Pfad eines Hosts zur Verwendung mit
2821 <a href="../vhosts/">namensbasierten virtuellen Hosts</a> fest.</p>
2823 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2825 </directivesynopsis>
2828 <name>ServerRoot</name>
2829 <description>Basisverzeichnis der Serverinstallation</description>
2830 <syntax>ServerRoot <var>Verzeichnis</var></syntax>
2831 <default>ServerRoot /usr/local/apache</default>
2832 <contextlist><context>server config</context></contextlist>
2835 <p>Die Direktive <directive>ServerRoot</directive> bestimmt das
2836 Verzeichnis, in dem der Server installiert ist. Üblicherweise
2837 enthält es die Unterverzeichnisse <code>conf/</code> und
2838 <code>logs/</code>. Relative Pfadangaben für andere
2839 Konfigurationsdateien werden relativ zu diesem Verzeichnis betrachtet.</p>
2841 <example><title>Beispiel</title>
2842 ServerRoot /home/httpd
2845 <seealso><a href="../invoking.html">Die <code>httpd</code>-Option
2846 <code>-d</code></a></seealso>
2847 <seealso><a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a>
2848 für Informationen, wie die Rechte auf das <directive
2849 >ServerRoot</directive>-Verzeichnis richtig gesetzt werden</seealso>
2850 </directivesynopsis>
2853 <name>ServerSignature</name>
2854 <description>Konfiguriert die Fußzeile von servergenerierten
2855 Dokumenten</description>
2856 <syntax>ServerSignature On|Off|EMail</syntax>
2857 <default>ServerSignature Off</default>
2858 <contextlist><context>server config</context><context>virtual host</context>
2859 <context>directory</context><context>.htaccess</context>
2861 <override>All</override>
2864 <p>Die Direktive <directive>ServerSignature</directive> ermöglicht
2865 die Gestaltung einer unter servergenerierten Dokumenten (z.B.
2866 Fehlerdokumente, FTP-Verzeichnislisten von <module>mod_proxy</module>,
2867 <module>mod_info</module>-Ausgaben, ...) angefügten
2868 Fußzeile. Ein möglicher Grund für die Aktivierung einer
2869 solchen Fußzeile ist, dass der Anwender bei einer Kette von
2870 Proxy-Servern oft keine Möglichkeit hat, zu erkennen, welcher der
2871 verketteten Server gegenwärtig die zurückgegebene Fehlermeldung
2874 <p>Die (Vor-)Einstellung <code>Off</code> unterdrückt die
2875 Fußzeile (und ist damit kompatibel zum Verhalten des Apache 1.2 und
2876 früher). Die Einstellung <code>On</code> fügt schlicht eine
2877 Zeile mit der Versionsnummer des Servers und dem Servernamen (<directive
2878 module="core">ServerName</directive>) des bedienenden virtuellen Hosts an.
2879 Die Einstellung <code>EMail</code> erstellt zusätzlich einen
2880 "mailto:"-Verweis zum Serveradministrator (<directive
2881 module="core">ServerAdmin</directive>) des referenzierten Dokuments.</p>
2883 <p>Ab Version 2.0.44 werden die Details der angegebenen Versionsnummer des
2884 Servers von der Direktive <directive
2885 module="core">ServerTokens</directive> kontrolliert.</p>
2887 <seealso><directive module="core">ServerTokens</directive></seealso>
2888 </directivesynopsis>
2891 <name>ServerTokens</name>
2892 <description>Konfiguriert den HTTP-Response-Header
2893 <code>Server</code></description>
2894 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
2895 <default>ServerTokens Full</default>
2896 <contextlist><context>server config</context></contextlist>
2899 <p>die Direktive steuert, ob der Response-Header <code>Server</code>,
2900 der an den Client zurückgesendet wird, eine Beschreibung des
2901 allgemeinen Betriesbsystemtyps des Servers wie auch Informationen
2902 über einkompilierte Module enthält.</p>
2905 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2907 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
2910 <dt><code>ServerTokens Major</code></dt>
2912 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
2913 Apache/2</code></dd>
2915 <dt><code>ServerTokens Minor</code></dt>
2917 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
2918 Apache/2.0</code></dd>
2920 <dt><code>ServerTokens Min[imal]</code></dt>
2922 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
2923 Apache/2.0.41</code></dd>
2925 <dt><code>ServerTokens OS</code></dt>
2927 <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41
2930 <dt><code>ServerTokens Full</code> (oder nicht angegeben)</dt>
2932 <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41
2933 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
2936 <p>Diese Einstellung gilt für den gesamten Server und kann nicht
2937 auf Virtual-Host-Basis aktiviert oder deaktiviert werden.</p>
2939 <p>Ab Version 2.0.44 steuert diese Direktive auch die Informationen, die
2940 durch die Direktive <directive module="core">ServerSignature</directive>
2941 angeboten werden.</p>
2943 <seealso><directive module="core">ServerSignature</directive></seealso>
2944 </directivesynopsis>
2947 <name>SetHandler</name>
2948 <description>Erzwingt die Verarbeitung aller passenden Dateien durch
2949 einen Handler</description>
2950 <syntax>SetHandler <var>Handlername</var>|None</syntax>
2951 <contextlist><context>server config</context><context>virtual host</context>
2952 <context>directory</context><context>.htaccess</context>
2954 <override>FileInfo</override>
2955 <compatibility>Seit Apache 2.0 im Core</compatibility>
2958 <p>Wenn die Direktive innerhalb einer <code>.htaccess</code>-Datei
2959 oder in einem <directive type="section"
2960 module="core">Directory</directive>- oder
2961 <directive type="section" module="core">Location</directive>-Abschnitt
2962 angegeben wird, erzwingt sie, dass alle entsprechenden Dateien von dem
2963 durch <var>Handlername</var> angegebenen <a
2964 href="../handler.html">Handler</a> analysiert werden. Wenn Sie
2965 beispielsweise ein Verzeichnis haben, dessen Dateien unabhängig von
2966 der Endung gänzlich als Image-Maps interpretiert werden sollen,
2967 können Sie folgendes in eine <code>.htaccess</code>-Datei in
2968 dem Verzeichnis schreiben:</p>
2971 SetHandler imap-file
2974 <p>Noch ein Beispiel: wenn Sie den Server immer, wenn die URL
2975 <code>http://servername/status</code> aufgerufen wird, einen
2976 Statusbericht anzeigen lassen möchten, dann können
2977 Sie folgendes in die <code>httpd.conf</code> schreiben:</p>
2980 <Location /status><br />
2982 SetHandler server-status<br />
2986 <p>Sie können eine zuvor definierte
2987 <directive>SetHandler</directive>-Anweisung aufheben, indem Sie den Wert
2988 <code>None</code> verwenden.</p>
2990 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
2991 </directivesynopsis>
2994 <name>SetInputFilter</name>
2995 <description>Bestimmt die Filter, die Client-Anfragen und POST-Eingaben
2996 verarbeiten</description>
2997 <syntax>SetInputFilter <var>Filter</var>[;<var>Filter</var>...]</syntax>
2998 <contextlist><context>server config</context><context>virtual host</context>
2999 <context>directory</context><context>.htaccess</context>
3001 <override>FileInfo</override>
3004 <p>Die Direktive <directive>SetInputFilter</directive> bestimmt den oder
3005 die Filter, die Client-Anfragen und POST-Eingaben verarbeiten, wenn
3006 sie vom Server empfangen werden. Diese gelten zusätzlich zu
3007 anderweitig definierten Filtern, einschließlich denen der Direktive
3008 <directive module="mod_mime">AddInputFilter</directive>.</p>
3010 <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese
3011 durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden,
3012 in der sie die Daten verarbeiten sollen.</p>
3014 <seealso><a href="../filter.html">Filter</a>-Dokumentation</seealso>
3015 </directivesynopsis>
3018 <name>SetOutputFilter</name>
3019 <description>Bestimmt die Filter, die Antworten des Servers verarbeiten</description>
3020 <syntax>SetOutputFilter <var>Filter</var>[;<var>Filter</var>...]</syntax>
3021 <contextlist><context>server config</context><context>virtual host</context>
3022 <context>directory</context><context>.htaccess</context>
3024 <override>FileInfo</override>
3027 <p>Die Direktive <directive>SetOutputFilter</directive> bestimmt
3028 die Filter, die Antworten des Servers verarbeiten, bevor sie an den
3029 Client gesendet werden. Diese gelten zusätzlich zu anderweitig
3030 definierten Filtern, einschließlich denen der Direktive
3031 <directive module="mod_mime">AddOutputFilter</directive>.</p>
3033 <p>Die folgende Konfiguration verarbeitet zum Beispiel alle Dateien
3034 im Verzeichnis <code>/www/data</code> als Server Side Includes.</p>
3037 <Directory /www/data/><br />
3039 SetOutputFilter INCLUDES<br />
3044 <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese
3045 durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden,
3046 in der sie die Daten verarbeiten sollen.</p>
3048 <seealso><a href="../filter.html">Filter</a>-Dokumentation</seealso>
3049 </directivesynopsis>
3052 <name>TimeOut</name>
3053 <description>Zeitspanne, die der Server auf verschiedene Ereignisse wartet,
3054 bevor er die Anfrage abbricht</description>
3055 <syntax>TimeOut <var>Sekunden</var></syntax>
3056 <default>TimeOut 300</default>
3057 <contextlist><context>server config</context></contextlist>
3060 <p>Die Direktive <directive>TimeOut</directive> definiert derzeit die
3061 Zeitspanne, die der Apache auf drei Dinge wartet:</p>
3064 <li>Die gesamte Zeispanne, die benötigt wird, um eine GET-Anfrage
3067 <li>Die Zeitspanne zwischen dem Empfang von TCP-Paketen einer
3068 POST- oder PUT-Anfrage.</li>
3070 <li>Die Zeitspanne zwischen ACKs bei der Übermittlung der
3071 TCP-Pakete der Antwort.</li>
3074 <p>Wir haben vor, diese Zeitspannen in Zukunft separat konfigurierbar zu
3075 machen. Vor Version 1.2 war der Zeitgeber auf 1200 voreingestellt, wurde
3076 dann aber auf 300 herabgesetzt, was immer noch weit mehr ist, als in den
3077 meisten Situationen benötigt wird. Die Voreinstellung wurde nicht
3078 weiter herabgesetzt, da gelegentlich noch Stellen im Code existieren
3079 können, wo der Zeitgeber nicht zurückgesetzt wird, wenn ein
3080 Paket verschickt wird.</p>
3082 </directivesynopsis>
3085 <name>UseCanonicalName</name>
3086 <description>Bestimmt, wie der Server seinen eigenen Namen und Port
3087 ermittelt</description>
3088 <syntax>UseCanonicalName On|Off|DNS</syntax>
3089 <default>UseCanonicalName On</default>
3090 <contextlist><context>server config</context><context>virtual host</context>
3091 <context>directory</context></contextlist>
3094 <p>In vielen Situationen muss der Apache eine
3095 <em>selbstreferenzierende</em> URL -- d.h. eine URL, die auf den selben
3096 Server zurück verweist -- zusammenbauen. Bei <code>UseCanonicalName
3097 On</code> verwendet der Apache den Hostnamen und Port, der in der
3098 <directive module="core">ServerName</directive>-Anweisung angegeben ist,
3099 um den kanonischen Namen des Servers zu erstellen. Dieser Name wird in
3100 allen selbstreferenzierenden URLs sowie in CGI-Skripten für die
3101 Werte von <code>SERVER_NAME</code> und <code>SERVER_PORT</code>
3104 <p>Bei <code>UseCanonicalName Off</code> bildet der Apache
3105 selbstreferenzierende URLs, indem er den vom Client übermittelten
3106 Hostnamen und Port verwendet, sofern diese vorhanden sind (andernfalls
3107 wird der kanonische Name, wie oben beschrieben, benutzt). Die Werte
3108 sind die gleichen, die zur Anwendung von <a
3109 href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>
3110 verwendet werden, und sie sind mit den gleichen Clients verfügbar
3111 <transnote>, die auch in der Lage sind, auf namensbasierte virtuelle Hosts
3112 zuzugreifen, d.h. einen <code>Host</code>-Header mitschicken</transnote>.
3113 Die CGI-Variablen <code>SERVER_NAME</code> und <code>SERVER_PORT</code>
3114 werden ebenfalls aus den vom Client angeboten Werten erstellt.</p>
3116 <p>Ein Intranet-Server, auf den Anwender mit kurzen Namen wie
3117 <code>www</code> zugreifen, ist ein Beispiel, wo dies sinnvoll sein kann.
3118 Sie werden bemerken, dass der Apache den Benutzer auf
3119 <code>http://www.domain.com/splat/</code> umleitet, wenn dieser einen
3120 Kurznamen und eine URL, die einem Verzeichnis entspricht, ohne
3121 abschließenden Schrägstrich eingibt, wie z.B.
3122 <code>http://www/splat</code>. Wenn Sie Authentisierung aktiviert haben,
3123 bewirkt dies, dass der Benutzer sich zweimal identifizieren muss
3124 (einmal für <code>www</code> und noch einmal für
3125 <code>www.domain.com</code> -- lesen Sie für weitere Informationen <a
3126 href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">die
3127 FAQ zu diesem Thema</a>). Wenn <directive>UseCanonicalName</directive>
3128 jedoch auf <code>Off</code> gesetzt ist, denn wird der Apache zu
3129 <code>http://www/splat/</code> umleiten.</p>
3131 <p>Es existiert noch eine dritte Option, <code>UseCanonicalName DNS</code>,
3132 die für den Betrieb von IP-basierten Massen-Virtual-Hosts gedacht ist,
3133 um antiquierte Clients zu unterstützen, die keinen
3134 <code>Host:</code>-Header bereit stellen. Um selbstreferenzierende
3135 URLs zu ermitteln, führt der Apache bei dieser Option ein
3136 Reverse-DNS-Lookup auf die IP-Adresse des Servers aus, zu der der Client
3137 Verbindung aufgenommen hat.</p>
3139 <note type="warning"><title>Warnung</title>
3140 <p>Wenn CGI-Skripte Vermutungen aufgrund des Wertes von
3141 <code>SERVER_NAME</code> anstellen, können sie durch diese
3142 Option fehlschlagen. Clients steht es im Wesentlichen frei, einen Wert
3143 für den Hostnamen anzugeben, wie er will. Wenn das
3144 CGI-Skript <code>SERVER_NAME</code> jedoch lediglich dazu verwendet,
3145 selbstreferenzierende URLs zu erstellen, sollte das gerade noch
3146 in Ordnung sein.</p>
3149 <seealso><directive module="core">ServerName</directive></seealso>
3150 <seealso><directive module="mpm_common">Listen</directive></seealso>
3151 </directivesynopsis>
3153 <directivesynopsis type="section">
3154 <name>VirtualHost</name>
3155 <description>Enthält Direktiven, die nur auf bestimmte Hostnamen oder
3156 IP-Adressen angewendet werden</description>
3157 <syntax><VirtualHost
3158 <var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]]
3159 ...> ... </VirtualHost></syntax>
3160 <contextlist><context>server config</context></contextlist>
3163 <p><directive type="section">VirtualHost</directive> und
3164 <code></VirtualHost></code> werden dazu verwendet, eine Gruppe
3165 von Direktiven zusammenzufassen, die nur auf einen bestimmten virtuellen
3166 Host angewendet werden. Jede Direktive, die im Virtual-Host-Kontext
3167 zulässig ist, kann verwendet werden. Wenn der Server eine Anfrage
3168 für ein bestimmtes Dokument eines bestimmten virtuellen Hosts
3169 empfängt, dann benutzt er die im
3170 <directive type="section">VirtualHost</directive>-Container enthaltenen
3171 Konfigurationsanweisungen. <var>Adresse</var> kann sein:</p>
3174 <li>Die IP-Adresse des virtuellen Hosts.</li>
3176 <li>Ein voll qualifizierter Domainname für die IP-Adresse des
3177 virtuellen Hosts.</li>
3179 <li>Das Zeichen <code>*</code>, welches nur in Kombination mit
3180 <code>NameVirtualHost *</code> verwendet wird, um allen IP-Adressen
3181 zu entsprechen.</li>
3183 <li>Die Zeichenkette <code>_default_</code>, die nur mit IP-basierten
3184 virtuellen Hosts verwendet wird, um nicht zugewiesene IP-Adressen
3188 <example><title>Beispiel</title>
3189 <VirtualHost 10.1.2.3><br />
3191 ServerAdmin webmaster@host.foo.com<br />
3192 DocumentRoot /www/docs/host.foo.com<br />
3193 ServerName host.foo.com<br />
3194 ErrorLog logs/host.foo.com-error_log<br />
3195 TransferLog logs/host.foo.com-access_log<br />
3197 </VirtualHost>
3200 <p>IPv6-Adressen müssen in eckigen Klammern angegeben werden, da die
3201 optionale Portnummer sonst nicht erkannt werden kann. Hier ein
3205 <VirtualHost [fe80::a00:20ff:fea7:ccea]><br />
3207 ServerAdmin webmaster@host.example.com<br />
3208 DocumentRoot /www/docs/host.example.com<br />
3209 ServerName host.example.com<br />
3210 ErrorLog logs/host.example.com-error_log<br />
3211 TransferLog logs/host.example.com-access_log<br />
3213 </VirtualHost>
3216 <p>Jeder virtuelle Host muss einer anderen IP-Adresse, einem anderen Port
3217 oder einem anderen Hostnamen für den Server entsprechen. Im ersten
3218 Fall muss die Servermaschine so eingerichtet sein, dass sie IP-Pakete
3219 für mehrere Adressen akzeptiert. (Wenn der Rechner nicht mehrere
3220 Netzwerkkarten besitzt, kann dies mit dem Befehl <code>ifconfig
3221 alias</code> durchgeführt werden -- sofern Ihr Betriebssystem das
3222 unterstützt).</p>
3224 <note><title>Anmerkung</title>
3225 <p>Die Verwendung von <directive type="section">VirtualHost</directive>
3226 beeinflusst <strong>nicht</strong>, an welchen Adressen der Apache
3227 lauscht. Sie müssen mit <directive
3228 module="mpm_common">Listen</directive> sicherstellen, dass der Apache
3229 an der richtigen Adresse lauscht.</p>
3232 <p>Bei der Verwendung IP-basierter virtuellen Hosts kann der spezielle
3233 Name <code>_default_</code> benutzt werden. In diesem Fall weist
3234 der Apache jede IP-Adresse diesem virtuellen Host zu, die nicht explizit in
3235 einem anderen virtuellen Host angegeben ist. Falls kein virtueller Host
3236 <code>_default_</code> angegeben ist, wird die "Hauptserver"-Konfiguration,
3237 die aus allen Definitionen außerhalb der Virtual-Host-Abschnitte
3238 besteht, für nicht passende IPs verwendet. (Beachten Sie jedoch,
3239 dass eine IP-Adressen die zu einer <directive
3240 module="core">NameVirtualHost</directive>-Anweisung passt, weder den
3241 "Hauptserver" noch den virtuellen Host <code>_default_</code> verwendet.
3242 Lesen Sie für weitere Details die Dokumentation zu <a
3243 href="../vhosts/name-based.html">namensbasierten virtuell Hosts</a>.)</p>
3245 <p>Sie können einen speziellen <code>:Port</code> angeben,
3246 um den entsprechenden Port zu wechseln. Falls nicht angegeben, wird
3247 er auf den gleichen Port voreingestellt, wie die letzte
3248 <directive module="mpm_common">Listen</directive>-Anweisung des
3249 Hauptservers. Sie können auch <code>:*</code> angeben, um alle
3250 Ports dieser Adresse zu akzeptieren. (Dies wird zusammen mit
3251 <code>_default_</code> empfohlen.)</p>
3253 <note type="warning"><title>Sicherheit</title>
3254 <p>Lesen Sie das Dokument <a
3255 href="../misc/security_tips.html">Sicherheitshinweise</a> für
3256 Details, warum Ihre Sicherheit gefährdet sein kann, wenn das
3257 Verzeichnis, in dem Protokolldateien gespeichert werden, für
3258 jemanden anderes als den Benutzer beschreibbar ist, der den Server
3262 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
3264 <seealso><a href="../dns-caveats.html">Probleme bezüglich DNS und
3265 Apache</a></seealso>
3266 <seealso><a href="../bind.html">Bestimmen, welche Adressen und Ports
3267 der Apache verwendet</a></seealso>
3268 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
3269 <Location> und <Files> arbeiten</a> für eine
3270 Erläuterung, wie diese verschiedenen Abschnitte miteinander
3271 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
3272 </directivesynopsis>