diff options
author | 2015-11-30 01:45:08 -0500 | |
---|---|---|
committer | 2015-11-30 01:45:08 -0500 | |
commit | e8ec7aa8e38a93f5b034ac74cebce5de23710317 (patch) | |
tree | aa031937bf856c1f8d6ad7877b8d2cb0224da5ef /rubbos/app/httpd-2.0.64/docs/manual/mod/core.html.de | |
parent | cc40af334e619bb549038238507407866f774f8f (diff) |
upload http
JIRA: BOTTLENECK-10
Change-Id: I7598427ff904df438ce77c2819ee48ac75ffa8da
Signed-off-by: hongbotian <hongbo.tianhongbo@huawei.com>
Diffstat (limited to 'rubbos/app/httpd-2.0.64/docs/manual/mod/core.html.de')
-rw-r--r-- | rubbos/app/httpd-2.0.64/docs/manual/mod/core.html.de | 3422 |
1 files changed, 3422 insertions, 0 deletions
diff --git a/rubbos/app/httpd-2.0.64/docs/manual/mod/core.html.de b/rubbos/app/httpd-2.0.64/docs/manual/mod/core.html.de new file mode 100644 index 00000000..48e81964 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/docs/manual/mod/core.html.de @@ -0,0 +1,3422 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>core - Apache HTTP Server</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.0</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.0</a> > <a href="./">Module</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache-Kernfunktionen</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Ständig verfügbare Kernfunktionen des Apache HTTP +Servers</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Core</td></tr></table> +</div> +<div id="quickview"><h3 class="directives">Direktiven</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authname">AuthName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#identitycheck">IdentityCheck</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> +</ul> +</div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a>-<a name="acceptpathinfo" id="acceptpathinfo">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ressourcen lassen angehängte Pfadangaben zu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AcceptPathInfo Default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 2.0.30</td></tr> +</table> + <p>Die Direktive steuert, ob Anfragen akzeptiert oder + abgewiesen werden, bei denen nach der tatsächlichen + Datei (oder einer nicht existierenden Datei in einem existierenden + Verzeichnis) zusätzliche Pfadangaben folgen. Die angehängte + Pfadangabe kann Skripten in der Umgebungsvariable <code>PATH_INFO</code> + verfügbar gemacht werden.</p> + + <p>Nehmen wir beispielsweise an, dass <code>/test/</code> auf ein + Verzeichnis zeigt, welches lediglich eine Datei <code>here.html</code> + enthält. Dann wird bei Anfragen nach + <code>/test/here.html/more</code> und + <code>/test/nothere.html/more</code> beides Mal <code>/more</code> + als <code>PATH_INFO</code> ermittelt.</p> + + <p>Die drei möglichen Argumente für die Direktive + <code class="directive">AcceptPathInfo</code> sind:</p> + + <dl> + <dt><code>Off</code></dt><dd>Eine Anfrage wird nur dann akzeptiert, + wenn sie exakt auf ein existierendes Verzeichnis (oder eine Datei) + abgebildet werden kann. Daher würde eine Anfrage mit einer nach dem + tatsächlichen Dateinamen angehängten Pfadangabe, wie + <code>/test/here.html/more</code> im obigen Beispiel, den Fehler + 404 NOT FOUND <span class="transnote">(<em>Anm.d.Ü.:</em> nicht gefunden)</span> + zurückgeben.</dd> + + <dt><code>On</code></dt> + <dd>Eine Anfrage wird akzeptiert, wenn eine vorangestellte Pfadangabe + auf ein existierendes Verzeichnis abgebildet werden kann. Das + obige Beispiel <code>/test/here.html/more</code> wird akzeptiert, + wenn <code>/test/here.html</code> auf eine gültige Datei + zeigt.</dd> + + <dt><code>Default</code></dt> + <dd>Die Behandlung von Anfragen mit angehängten Pfadangaben + wird von dem für die Anfrage verantwortlichen <a href="../handler.html">Handler</a> bestimmt. Der Core-Handler + für gewöhnliche Dateien weist <code>PATH_INFO</code>-Zugriffe + standardmäßig zurück. Handler, die Skripte bedienen, + wie z.B. <a href="mod_cgi.html">cgi-script</a> und + <a href="mod_isapi.html">isapi-handler</a>, sind im Allgemeinen darauf + voreingestellt, <code>PATH_INFO</code> zu akzeptieren.</dd> + </dl> + + <p>Das eigentliche Ziel von <code>AcceptPathInfo</code> ist es, Ihnen + das Überschreiben der Voreinstellung der Handler bezüglich + der Akzeptanz oder Ablehnung von <code>PATH_INFO</code> zu erlauben. + Eine solche Änderung ist zum Beispiel notwendig, wenn Sie einen + <a href="../filter.html">Filter</a> wie <a href="mod_include.html">INCLUDES</a> verwenden, um Inhalte + abhängig von <code>PATH_INFO</code> zu generieren. Der + Core-Handler würde die Anfrage normalerweise abweisen. Verwenden + Sie die folgende Konfiguration, um dennoch solch ein Skript zu + ermöglichen.</p> + + <div class="example"><p><code> + <Files "mypaths.shtml"><br /> + <span class="indent"> + Options +Includes<br /> + SetOutputFilter INCLUDES<br /> + AcceptPathInfo On<br /> + </span> + </Files> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a>-<a name="accessfilename" id="accessfilename">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Name der dezentralen Konfigurationsdateien</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AccessFileName .htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Aus dieser Namensliste sucht der Server während der + Bearbeitung einer Anfrage in jedem Verzeichnis nach der ersten + existierenden Datei, sofern im betreffenden Verzeichnis dezentrale + Konfigurationsdateien <a href="#allowoverride">erlaubt sind</a>. + Beispiel:</p> + + <div class="example"><p><code> + AccessFileName .acl + </code></p></div> + + <p>Vor der Rücksendung des Dokuments + <code>/usr/local/web/index.html</code> wird der Server + <code>/.acl</code>, <code>/usr/.acl</code>, + <code>/usr/local/.acl</code> und <code>/usr/local/web/.acl</code> + einlesen, solange diese nicht mit</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory> + </code></p></div> + + <p>deaktiviert wurden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Konfigurationsdateien</a></li> +<li><a href="../howto/htaccess.html">.htaccess-Dateien</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a>-<a name="adddefaultcharset" id="adddefaultcharset">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Standard-Charset-Parameter, der bei Antworten vom Content-Type + <code>text/plain</code> oder <code>text/html</code> hinzugefügt wird +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddDefaultCharset On|Off|<var>Zeichenkodierung</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AddDefaultCharset Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive gibt einen Standardwert für den Charset-Paramter des + Medientyps (den Namen einer Zeichencodierung) an, der einer Antwort + genau dann hinzugefügt wird, wenn der Content-Type der Antwort entweder + <code>text/plain</code> oder <code>text/html</code> ist. Dies sollte jedes + mittels <code>META</code>-Element im Datenteil der Antwort angegebene + Charset überschreiben. Das genaue Verhalten hängt jedoch oft von + der Client-Konfiguration des Benutzers ab. Die Einstellung + <code>AddDefaultCharset Off</code> deaktiviert diese Funktionalität. + <code>AddDefaultCharset On</code> aktiviert die Standard-Zeichenkodierung + <code>iso-8859-1</code>. Jeder andere Wert wird als die zu verwendende + <var>Zeichenkodierung</var> aufgefaßt, die eines der bei <a href="http://www.iana.org/assignments/character-sets">IANA registrierten + Charset-Werte</a> zur Verwendung in MIME-Medientypen sein sollte. Zum + Beispiel:</p> + + <div class="example"><p><code> + AddDefaultCharset utf-8 + </code></p></div> + + <p><code class="directive">AddDefaultCharset</code> sollte nur verwendet werden, + wenn von allen Textressourcen, für die es gilt, bekannt ist, dass sie + in dieser Zeichkodierung vorliegen, oder wenn es zu unbequem ist, ihre + Zeichenkodierung indivuell zu benennen. Ein solches Beispiel ist das + Hinzufügen des Charset-Parameters zu Ressourcen, die generierte + Inhalte enthalten. Ein Beispiel sind CGI-Skript-Altlasten, die aufgrund von + in die Ausgabe integrierten Daten, die durch den Benutzer übermittelt + wurden, gegen Cross-Site-Scripting-Angriffe verwundbar sind. Eine bessere + Lösung wäre jedoch, diese Skripte zu korrigieren (oder zu + löschen), da die Angabe einer Standard-Zeichencodierung keine + Anwender schützt, die in ihrem Browser die Funktion zur + automatischen Erkennung der Zeichenkodierung aktiviert haben.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a>-<a name="addoutputfilterbytype" id="addoutputfilterbytype">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>einen Ausgabefilter einem bestimmten MIME-Type +zuordnen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddOutputFilterByType <var>Filter</var>[;<var>Filter</var>...] +<var>MIME-Type</var> [<var>MIME-Type</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 2.0.33</td></tr> +</table> + <p>Die Direktive aktiviert für eine Anfrage abhängig vom + MIME-Type der Antwort einen bestimmten Ausgabe-<a href="../filter.html">Filter</a>.</p> + + <p>Das folgende Beispiel verwendet den Filter <code>DEFLATE</code>, + der von <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> angeboten wird. Er komprimiert + jede Ausgabe, die als <code>text/html</code> oder <code>text/plain</code> + gekennzeichnet ist, (gleichgültig, ob statisch oder dynamisch) + bevor sie an den Client gesendet wird.</p> + + <div class="example"><p><code> + AddOutputFilterByType DEFLATE text/html text/plain + </code></p></div> + + <p>Wenn Sie den Inhalt von mehr als einem Filter verarbeiten lassen + wollen, dann müssen deren Namen durch Semikolons voneinander + getrennt werden. Es ist ebenfalls möglich, eine + <code class="directive">AddOutputFilterByType</code>-Direktive für + jeden von diesen Filtern zu verwenden.</p> + + <p>Die folgende Konfiguration sorgt dafür, dass alle + Skriptausgaben, die als <code>text/html</code> gekennzeichnet + sind, zuerst vom <code>INCLUDES</code>-Filter und dann vom + <code>DEFLATE</code>-Filter verarbeitet werden.</p> + + <div class="example"><p><code> + <Location /cgi-bin/><br /> + <span class="indent"> + Options Includes<br /> + AddOutputFilterByType INCLUDES;DEFLATE text/html<br /> + </span> + </Location> + </code></p></div> + + <div class="warning"><h3>Hinweis:</h3> + <p>Die Aktivierung von Filtern mittels + <code class="directive">AddOutputFilterByType</code> kann in einigen + Fällen ganz oder teilweise fehlschlagen. Beispielsweise + werden keine Filter angewendet, wenn der MIME-Type nicht bestimmt + werden kann und auf die Einstellung der <code class="directive"><a href="#defaulttype">DefaultType</a></code>-Anweisung zurückfällt, + selbst wenn die <code class="directive"><a href="#defaulttype">DefaultType</a></code>-Einstellung die gleiche ist.</p> + + <p>Wenn Sie jedoch sicherstellen wollen, dass der Filter + angewendet wird, sollten Sie den Content-Type z.B. mit + <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> oder + <code class="directive"><a href="#forcetype">ForceType</a></code> der Ressource + explizit zuordnen. Das Setzen des Content-Types innerhalb + eines (nicht-nph) CGI-Skriptes funktioniert ebenfalls + zuverlässig.</p> + + <p>Die Typ-gebundenen Ausgabefilter werden niemals auf + Proxy-Anfragen angewendet.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li> +<li><code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code></li> +<li><a href="../filter.html">Filter</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a>-<a name="allowencodedslashes" id="allowencodedslashes">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht +werden dürfen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 2.0.46</td></tr> +</table> + <p>Die <code class="directive">AllowEncodedSlashes</code>-Direktive erlaubt die + Verwendung von URLs, welche kodierte Pfadtrennzeichen (<code>%2F</code> + für <code>/</code> und auf entsprechenden Systemen zusätzlich + <code>%5C</code> für <code>\</code>) enthalten. Normalerweise werden + derartige URLs mit einem 404-Fehler (Nicht gefunden) abgewiesen.</p> + + <p><code class="directive">AllowEncodedSlashes</code> <code>On</code> ist + vor allem in Verbindung mit <code>PATH_INFO</code> hilfreich.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Das Erlauben von Schrägstrichen impliziert <em>nicht</em> deren + <em>Dekodierung</em>. Vorkommen von <code>%2F</code> oder <code>%5C</code> + (<em>nur</em> auf entsprechenden Systemen) werden unverändert in der + ansonsten dekodierten URL belassen.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a>-<a name="allowoverride" id="allowoverride">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Direktiven-Typen, die in <code>.htaccess</code>-Dateien +erlaubt sind.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverride All|None|<var>Direktiven-Typ</var> +[<var>Direktiven-Typ</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AllowOverride All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Wenn der Server eine <code>.htaccess</code>-Datei (wie durch + <code class="directive"><a href="#accessfilename">AccessFileName</a></code> definiert) + findet, muss er wissen, welche in der Datei angegebenen Direktiven + frühere Konfigurationsanweisungen überschreiben + dürfen.</p> + + <div class="note"><h3>Nun in <Directory>-Abschnitten verfügbar</h3> + <code class="directive">AllowOverride</code> ist nur in <code class="directive"><a href="#directory"><Directory></a></code>-Abschnitten + gültig, die ohne reguläre Ausdrüke definiert wurden, nicht + in <code class="directive"><a href="#location"><Location></a></code>-, + <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code>- oder + <code class="directive"><a href="#files"><Files></a></code>-Abschnitten. + </div> + + <p>Wenn diese Anweisung auf <code>None</code> gesetzt wird, dann + werden <a href="#accessfilename">.htaccess</a>-Dateien komplett + ignoriert. In diesem Fall wird der Server nicht einmal versuchen, + die <code>.htaccess</code>-Dateien im Dateisystem zu lesen.</p> + + <p>Wenn diese Anweisung auf <code>All</code> gesetzt wird, dann + ist jede Direktive in den <code>.htaccess</code>-Dateien erlaubt, + die den <a href="directive-dict.html#Context">Kontext</a> + .htaccess besitzt.</p> + + <p>Der <var>Direktiven-Typ</var> kann eine der folgenden + Anweisungsgruppen sein.</p> + + <dl> + <dt>AuthConfig</dt> + + <dd> + Erlaubt die Verwendung von Autorisierungs-Anweisungen (<code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, + <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code>, + <code class="directive"><a href="#authname">AuthName</a></code>, + <code class="directive"><a href="#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="#require">Require</a></code> <em>usw.</em>).</dd> + + <dt>FileInfo</dt> + + <dd> + Erlaubt die Verwendung von Direktiven zur Steuerung der + Dokumenttypen (<code class="directive"><a href="#defaulttype">DefaultType</a></code>, <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, + <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, und + <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>-Direktiven Add* und Remove* + <em>usw.</em>).</dd> + + <dt>Indexes</dt> + + <dd> + Erlaubt die Verwendung von Direktiven zur Steuerung von + Verzeichnisindizes (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code> + <em>usw.</em>).</dd> + + <dt>Limit</dt> + + <dd> + Erlaubt die Verwendung von Direktiven zur Steuerung des + Zugriffs von Hosts (<code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code> und <code class="directive"><a href="../mod/mod_access.html#order">Order</a></code>).</dd> + + <dt>Options</dt> + + <dd> + Erlaubt die Verwendung von Direktiven zur Steuerung spezieller + Verzeichniseigenschaften (<code class="directive"><a href="#options">Options</a></code> + und <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>).</dd> + </dl> + + <p>Beispiel:</p> + + <div class="example"><p><code> + AllowOverride AuthConfig Indexes + </code></p></div> + + <p>Im obigen Beispiel erzeugen alle Direktiven einen internal server + error <span class="transnote">(<em>Anm.d.Ü.:</em> (Server-interner Fehler))</span>, die weder der + Gruppe <code>AuthConfig</code> noch der Gruppe <code>Indexes</code> + angehören.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><a href="../configuring.html">Konfigurationsdateien</a></li> +<li><a href="../howto/htaccess.html">.htaccess-Dateien</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthName" id="AuthName">AuthName</a>-<a name="authname" id="authname">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Autorisierungsbereich zur Verwendung in der +HTTP-Authentisierung</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthName <var>auth-Bereich</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive legt den Namen des Autorisierungsbereiches + <span class="transnote">(<em>Anm.d.Ü.:</em> Der Autorisierungsbereich wird auch Realm genannt.)</span> + für ein Verzeichnis fest. Dieser Realm wird dem Client mitgeteilt, + damit der Anwender weiß, welchen Benutzernamen und welches Passwort + er zu übermitteln hat. <code class="directive">AuthName</code> akzeptiert ein + Argument. Falls der Name des Realm Leerzeichen enthält, muss er in + Anführungszeichen eingeschlossen werden. Um zu funktionieren, muss + die Anweisung von den Direktiven <code class="directive"><a href="#authtype">AuthType</a></code> und <code class="directive"><a href="#require">Require</a></code> sowie von + Direktiven wie <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> + und <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code> + begleitet werden.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + AuthName "Top Secret" + </code></p></div> + + <p>Die <code>AuthName</code> übergebene Zeichenkette ist das, + was in dem von den meisten Browsern angebotenen Passwort-Dialog + angezeigt wird.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../howto/auth.html">Authentisierung, Autorisierung und + Zugriffskontrolle</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthType" id="AuthType">AuthType</a>-<a name="authtype" id="authtype">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Art der Authentisierung</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthType Basic|Digest</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive wählt die Art der Benutzer-Authentisierung + für ein Verzeichnis aus. Derzeit sind lediglich <code>Basic</code> + und <code>Digest</code> implementiert. + Um zu funktionieren, muss die Anweisung von den Direktiven <code class="directive"><a href="#authname">AuthName</a></code> und <code class="directive"><a href="#require">Require</a></code> sowie von + Direktiven wie <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> + und <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code> + begleitet werden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../howto/auth.html">Authentisierung, Autorisierung und + Zugriffskontrolle</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a>-<a name="cgimapextension" id="cgimapextension">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Technik zur Bestimmung des Interpreters für +CGI-Skripte</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>ausschließlich NetWare</td></tr> +</table> + <p>Die Direktive wird zur Steuerung verwendet, wie Apache + den Interpreter ermittelt, der zur Ausführung von + CGI-Skripten verwendet wird. Beispielsweise bestimmt die Angabe + von <code>CGIMapExtension sys:\foo.nlm .foo</code>, dass + alle CGI-Scripte mit der Endung <code>.foo</code> an den + FOO-Interpreter übergeben werden.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a>-<a name="contentdigest" id="contentdigest">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert die Generierung von <code>Content-MD5</code> +HTTP-Response-Headern</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ContentDigest On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ContentDigest Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive aktiviert die Generierung von + <code>Content-MD5</code>-Headern, wie sie in RFC1864 bzw. RFC2068 + definiert sind.</p> + + <p>MD5 ist ein Algorithmus zur Berechnung eines "Datenextrakts" + (zuweilen "Fingerabdruck" genannt) <span class="transnote">(<em>Anm.d.Ü.:</em> Der "Datenextrakt" wird im + Englischen als "message digest" oder "fingerprint" bezeichnet.)</span> + aus beliebig langen Daten. Es gilt als zuverlässig, dass + Veränderungen an den Daten sich in Veränderungen des + Extrakts wiederspiegeln.</p> + + <p>Der <code>Content-MD5</code>-Header bietet eine + End-to-End-Integritätsprüfung (MIC) <span class="transnote">(<em>Anm.d.Ü.:</em> MIC steht für + "message integrity check".)</span> des Daten-Inhalts. Ein Proxy oder + Client kann diesen Header prüfen, um zufällige Veränderungen + des Entity-Inhalts bei der Übertragung festzustellen. + Beispielheader:</p> + + <div class="example"><p><code> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== + </code></p></div> + + <p>Beachten Sie bitte, dass dies Performanceprobleme auf Ihrem + System verursachen kann, da der Extrakt bei jeder Anfrage + berechnet wird (der Wert wird nicht zwischengespeichert).</p> + + <p><code>Content-MD5</code> wird nur für Dokumente gesendet, + die von <code class="module"><a href="../mod/core.html">core</a></code> bedient werden, nicht jedoch bei + Modulen. SSI-Dokumente, CGI-Skript-Ausgaben und Byte-Range-Antworten + besitzen diesen Header beispielsweise nicht.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a>-<a name="defaulttype" id="defaulttype">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>MIME-Content-Type, der gesendet wird, wenn der Server den Typ +nicht auf andere Weise ermitteln kann.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultType <var>MIME-Type</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>DefaultType text/plain</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Es kann vorkommen, dass der Server ein Dokument ausliefern muss, + dessen Typ er nicht mit Hilfe seiner MIME-Type-Zuordnungen bestimmen + kann.</p> + + <p>Der Server muss den Client über den Content-Type des + Dokumentes informieren. Daher verwendet er im Falle eines + unbekannten Typs die <code>DefaultType</code>-Einstellung. + Zum Beispiel:</p> + + <div class="example"><p><code> + DefaultType image/gif + </code></p></div> + + <p>wäre angemessen für ein Verzeichnis, das viele GIF-Bilder + enthält, deren Dateinamen nicht Endung <code>.gif</code> + besitzen.</p> + + <p>Beachten Sie bitte, dass die Direktive anders als <code class="directive"><a href="#forcetype">ForceType</a></code> lediglich den Standard-MIME-Type + bestimmt. Alle anderen MIME-Type-Definitionen, einschließlich + Dateierweiterungen, die den Medien-Typ anzeigen können, + überschreiben diese Voreinstellung.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a>-<a name="directory" id="directory">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Umschließt eine Gruppe von Direktiven, die nur auf +das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet +werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Directory <var>Verzeichnispfad</var>> +... </Directory></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><Directory></code> und + <code></Directory></code> werden dazu verwendet, eine Gruppe + von Direktiven zusammenzufassen, die nur für das genannte + Verzeichnis und dessen Unterverzeichnisse gelten. Jede Direktive, + die im Verzeichnis-Kontext erlaubt ist, kann verwendet werden. + <var>Verzeichnispfad</var> ist entweder der vollständige Pfad zu + einem Verzeichnis oder eine Zeichenkette mit Platzhaltern wie sie von der + Unix-Shell zum Abgleich verwendet werden. In einer Zeichenkette + mit Platzhaltern <span class="transnote">(<em>Anm.d.Ü.:</em> sogenannte wild-cards)</span> entspricht + <code>?</code> einem einzelnen Zeichen und <code>*</code> einer + Zeichenkette beliebiger Länge. Sie können auch auch + <code>[]</code>-Zeichenbereiche verwenden. Keiner der Platzhalter + entspricht dem Zeichen "/". Daher passt <code><Directory + /*/public_html></code> nicht auf <code>/home/user/public_html</code>, + <code><Directory /home/*/public_html></code> jedoch tut es. + Beispiel:</p> + + <div class="example"><p><code> + <Directory /usr/local/httpd/htdocs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory> + </code></p></div> + + <div class="note"> + <p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten. + Sie müssen buchstäblich mit dem Dateisystempfad + übereinstimmen, den der Apache für den Zugriff auf die + Dateien verwendet. Direktiven, die für ein bestimmtes + Verzeichnis gelten, gelten nicht für Dateien in dem Verzeichnis, + auf die über einen anderen Pfad zugegriffen wird, wie z.B. + über verschiedene symbolische Links.</p> + </div> + + <p>Erweiterte reguläre Ausdrücke können ebenfalls + verwendet werden, indem das Zeichen <code>~</code> hinzugefügt + wird. Beispielsweise würde</p> + + <div class="example"><p><code> + <Directory ~ "^/www/.*/[0-9]{3}"> + </code></p></div> + + <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei + Zahlen bestehen.</p> + + <p>Wenn mehrere <code class="directive"><Directory></code>-Abschnitte + (ohne reguläre Ausdrücke) auf ein Verzeichnis (oder + ein ihm übergeordnetes Verzeichnis) passen, welches ein Dokument + enthält, dann werden die Direktiven der Reihe nach, angefangen + beim kürzesten passenden Muster, vermischt mit den Direktiven + aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet. + Beispiel:</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory><br /> + <br /> + <Directory /home/><br /> + <span class="indent"> + AllowOverride FileInfo<br /> + </span> + </Directory> + </code></p></div> + + <p>Beim Zugriff auf das Dokument <code>/home/web/dir/doc.html</code> + sind die einzelnen Schritte:</p> + + <ul> + <li>Wende die Direktive <code>AllowOverride None</code> an + (deaktiviere <code>.htaccess</code>-Dateien).</li> + + <li>Wende die Direktive <code>AllowOverride FileInfo</code> + (auf das Verzeichnis <code>/home</code>) an.</li> + + <li>Wende jede <code>FileInfo</code>-Direktive aus + <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> und + <code>/home/web/dir/.htaccess</code> der Reihe nach an.</li> + </ul> + + <p>Reguläre Ausdrücke werden solange nicht berücksichtigt, + bis alle normalen Abschnitte angewendet wurden. Anschließend + werden alle regulären Ausdrücke in der Reihenfolge + geprüft, in der sie in der Konfigurationsdatei auftauchen. + Beispielsweise wird bei</p> + + <div class="example"><p><code> + <Directory ~ abc$><br /> + <span class="indent"> + # ... hier die Direktiven ...<br /> + </span> + </Directory> + </code></p></div> + + <p>der Abschnitt mit dem regulären Ausdruck nicht + berücksichtigt, bis alle normalen + <code class="directive"><Directory></code>-Abschnitte und + <code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird + der reguläre Ausdruck mit <code>/home/abc/public_html/abc</code> + abgeglichen und der entsprechende <code class="directive"><Directory></code>-Abschnitt angewendet.</p> + + <p><strong>Beachten Sie bitte, dass der vom Apache voreingestellte + Zugriff für <code><Directory /></code> + <code>Allow from All</code> ist. Das bedeutet, dass der Apache + jede Datei ausliefert, die durch eine URL abgebildet wird. Es wird + empfohlen, dass Sie dies durch einen Block wie</strong></p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + Order Deny,Allow<br /> + Deny from All<br /> + </span> + </Directory> + </code></p></div> + + <p><strong>ändern und anschließend für + Verzeichnisse überschreiben, die Sie verfügbar machen + <em>wollen</em>. Für weitere Einzelheiten lesen Sie bitte + die Seite zu den <a href="../misc/security_tips.html">Sicherheitshinweisen</a>.</strong></p> + + <p>Die Verzeichnisabschnitte erscheinen in der Datei + <code>httpd.conf</code>. <code class="directive"><Directory></code>-Direktiven dürfen nicht + ineinander verschachtelt werden oder innerhalb von <code class="directive"><a href="#limit"><Limit></a></code>- oder <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Abschnitten auftauchen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a>-<a name="directorymatch" id="directorymatch">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Umschließt eine Gruppe von Direktiven, die auf + Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet + werden, welche auf einen regulären Ausdruck passen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><DirectoryMatch></code> und + <code></DirectoryMatch></code> werden dazu verwendet, eine + Gruppe von Direktiven zusammenzufassen, die nur für das + genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso + wie bei <code class="directive"><a href="#directory"><Directory></a></code>. + Als Argument dient jedoch ein regulärer Ausdruck. + Beispielsweise würde</p> + + <div class="example"><p><code> + <DirectoryMatch "^/www/(.+/)?[0-9]{3}"> + </code></p></div> + + <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei + Zeichen bestehen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#directory"><Directory></a></code> + für eine Beschreibung, wie reguläre Ausdrücke mit + normalen <code class="directive"><Directory></code>-Anweisungen + vermischt werden.</li> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a>-<a name="documentroot" id="documentroot">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im +Web sichtbar ist.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DocumentRoot <var>Verzeichnis</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive setzt das Verzeichnis, von dem aus + <code class="program"><a href="../programs/httpd.html">httpd</a></code> Dateien ausliefert. Sofern nicht eine Direktive + wie <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> greift, hängt + der Server Pfade aus der angeforderten URL an das Wurzelverzeichnis + an, um den Pfad zum Dokument zu bilden. Beispiel:</p> + + <div class="example"><p><code> + DocumentRoot /usr/web + </code></p></div> + + <p>Damit bezieht sich ein Zugriff auf + <code>http://www.my.host.com/index.html</code> auf + <code>/usr/web/index.html</code>.</p> + + <p><code class="directive">DocumentRoot</code> sollte ohne einen + Schrägstrich am Ende angegeben werden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../urlmapping.html">URLs auf das Dateisystem +abbilden</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a>-<a name="enablemmap" id="enablemmap">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verwende Memory-Mapping, um Dateien während der +Auslieferung zu lesen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableMMAP On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableMMAP On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive steuert, ob <code class="program"><a href="../programs/httpd.html">httpd</a></code> Memory-Mapping + verwenden darf, wenn er während der Auslieferung den Inhalt einer + Datei lesen muss. Wenn die Bearbeitung einer Anfrage es erfordert, + auf die Daten in einer Datei zuzugreifen -- zum Beispiel bei der + Auslieferung einer mittels <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> serverseitig + analysierten Datei --, dann verwendet der Apache standardmäßig + Memory-Mapping für diese Datei, sofern das Betriebssystem es + unterstützt.</p> + + <p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung. + In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu + deaktivieren, um Problemen während des Betriebs vorzubeugen:</p> + + <ul> + <li>Bei einigen Multiprozessorsystemen kann Memory-Mapping die + Performance von <code class="program"><a href="../programs/httpd.html">httpd</a></code> reduzieren.</li> + <li>Bei einem per NFS eingebundenen <code class="directive"><a href="#documentroot">DocumentRoot</a></code> kann <code class="program"><a href="../programs/httpd.html">httpd</a></code> mit + einem Speicherzugriffsfehler <span class="transnote">(<em>Anm.d.Ü.:</em> ein so genannter "segmentation + fault")</span> abstürzen, wenn eine Datei gelöscht oder + gekürzt wird, während <code class="program"><a href="../programs/httpd.html">httpd</a></code> sie im Speicher + abbildet.</li> + </ul> + + <p>Bei Serverkonfigurationen, die für dieses Problem + anfällig sind, sollten Sie das Memory-Mapping für + auszuliefernde Dateien deaktivieren, indem Sie schreiben:</p> + + <div class="example"><p><code> + EnableMMAP Off + </code></p></div> + + <p>Bei per NFS eingebundenen Dateien kann diese Funktion + explizit für die störenden Dateien deaktiviert werden, + indem Sie angeben:</p> + + <div class="example"><p><code> + <Directory "/pfad-zu-den-nfs-dateien"> + <span class="indent"> + EnableMMAP Off + </span> + </Directory> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a>-<a name="enablesendfile" id="enablesendfile">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verwende die sendfile-Unterstützung des Kernels, um +Dateien an den Client auszuliefern</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableSendfile On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableSendfile On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache Version 2.0.44</td></tr> +</table> + <p>Die Direktive steuert, ob <code class="program"><a href="../programs/httpd.html">httpd</a></code> die + sendfile-Unterstützung des Kernels verwenden kann, um + Dateiinhalte an den Client zu übermitteln. Wenn die Bearbeitung + einer Anfrage keinen Zugriff auf die Daten in der Datei erfordert -- + zum Beispiel bei der Auslieferung einer statischen Datei -- und das + Betriebssystem es unterstützt, verwendet der Apache + standardmäßig sendfile, um den Dateiinhalt zu + übertragen, ohne die Datei jemals zu lesen.</p> + + <p>Der sendfile-Mechanismus vermeidet getrennte Lese- und + Sendeoperationen sowie Puffer-Zuweisungen. Bei einigen Plattformen bzw. + Dateisystemen deaktivieren Sie diese Funktion jedoch besser, um Probleme + während des Betriebs zu vermeiden:</p> + + <ul> + <li>Einige Plattformen besitzen u.U. eine fehlerhafte + sendfile-Unterstützung, die das Erstellungssystem nicht erkennt, + insbesondere wenn die Binärdateien auf einem anderen Rechner erstellt + und auf eine solche Maschine mit fehlerhafter sendfile-Unterstützung + übertragen wurden.</li> + <li>Bei einem über das Netzwerk eingebundenen <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (z.B. NFS oder SMB) ist der + Kernel möglicherweise nicht in der Lage, die Netzwerkdatei + über seinen eigenen Cache zu bedienen.</li> + <li>Unter Linux löst die Verwendung von <code>sendfile</code> + in Verbindung mit bestimmten Netzwerkkarten und IPv6 + TCP-Checksummenfehler aus.</li> + </ul> + + <p>Bei Serverkonfigurationen, die für dieses Problam + anfällig sind, sollten die diese Funktion deaktivieren, indem + Sie schreiben:</p> + + <div class="example"><p><code> + EnableSendfile Off + </code></p></div> + + <p>Bei per NFS oder SMB eingebundenen Dateien kann diese Funktion + explizit für die störenden Dateien deaktiviert werden, indem + Sie angeben:</p> + + <div class="example"><p><code> + <Directory "/pfad-zu-den-nfs-dateien"> + <span class="indent"> + EnableSendfile Off + </span> + </Directory> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a>-<a name="errordocument" id="errordocument">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Das, was der Server im Fehlerfall an den Client +zurückgibt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ErrorDocument <var>Fehlercode</var> <var>Dokument</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Die Syntax der Anführungszeichen bei Textnachrichten hat +sich im Apache 2.0 geändert</td></tr> +</table> + <p>Im Falle eines Problems oder Fehlers kann der Apache + konfiguriert werden, eine der vier Aktionen auszuführen:</p> + + <ol> + <li>Ausgabe einer einfachen, hartkodierten Fehlermeldung</li> + + <li>Ausgabe einer angepassten Meldung</li> + + <li>Umleitung zu einem lokalen <var>URL-Pfad</var> der das + Problem bzw. den Fehler behandelt</li> + + <li>Umleitung zu einer externen <var>URL</var>, die das Problem + bzw. den Fehler behandelt</li> + </ol> + + <p>Die erste Option ist Voreinstellung, während die Optionen + 2 bis 4 über die Direktive <code class="directive">ErrorDocument</code> + eingestellt werden, welcher der HTTP-Statuscode und eine + URL oder Nachricht folgen. Abhängig vom Problem bzw. Fehler bietet + der Apache manchmal zusätzliche Informationen an.</p> + + <p>URLs können bei lokalen Webpfaden mit einem Schrägstrich + (/) beginnen (relativ zum <code class="directive"><a href="#documentroot">DocumentRoot</a></code>-Verzeichnis) oder eine vollständige URL + bilden, die der Client auflösen kann. Alternativ kann eine + Nachricht für die Anzeige im Browser angeboten werden. Beispiel:</p> + + <div class="example"><p><code> + ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br /> + ErrorDocument 404 /cgi-bin/falsche_urls.pl<br /> + ErrorDocument 401 /info_zur_anmeldung.html<br /> + ErrorDocument 403 "Der Zugriff ist nicht erlaubt." + </code></p></div> + + <p>Außerdem kann auch der Spezialwert <code>default</code> verwendet + werden, um die schlichte, im Apache hartkodierte Nachricht anzugeben. + Während es normalerweise nicht benötigt wird, stellt + <code>default</code> die einfache, hartkodierte Nachricht des Apache + bei Konfigurationen wieder her, bei denen andernfalls eine bestehende + <code class="directive">ErrorDocument</code>-Anweisung übernommen + würde.</p> + + <div class="example"><p><code> + ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br /> + <Directory /web/docs><br /> + <span class="indent"> + ErrorDocument 404 default<br /> + </span> + </Directory> + </code></p></div> + + <p>Wenn Sie eine <code class="directive">ErrorDocument</code>-Anweisung + angeben, die auf eine entfernte URL weist (d.h. irgendetwas mit der + Methode <code>http</code> davor), beachten Sie bitte, dass der Apache + eine Umleitung zum Client sendet, um diesem mitzuteilen, wo das + Dokument zu finden ist, auch wenn das Dokument letztlich wieder zum + gleichen Server führt. Das hat mehrere Auswirkungen. Die + wichtigste ist, dass der Client nicht den Original-Statuscode + erhält sondern statt dessen einen Umleitungs-Statuscode. Dies + wiederum kann Web-Robots und andere Clients verwirren, die den + Statuscode dazu verwenden, herauszufinden ob eine URL gültig ist. + Wenn Sie eine entfernte URL in einer Anweisung + <code>ErrorDocument 401</code> verwenden, wird der Client + darüber hinaus nicht wissen, dass er den Benutzer zur Eingabe + eines Passwortes auffordern muss, da er den Statuscode 401 nicht + erhält. <strong>Deshalb müssen Sie sich auf ein lokales + Dokument beziehen, wenn Sie eine Anweisung <code>ErrorDocument + 401</code> verwenden.</strong></p> + + <p>Der Microsoft Internet Explorer (MSIE) ignoriert + standardmäßig serverseitig generierte Fehlermeldungen, wenn + sie "zu kurz" sind und ersetzt sie durch eigene "freundliche" + Fehlermeldungen. Die Größe variiert abhängig von der + Art des Fehlers, im Allgemeinen zeigt der MSIE jedoch den + serverseitig generierten Fehler, anstatt ihn zu verstecken, wenn Ihr + Fehlerdokument größer als 512 Bytes ist. Weitere Informationen + sind im Artikel <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a> in der Microsoft Knowledgebase verfügbar.</p> + + <p>Obwohl die meisten Fehlermeldungen überschrieben werden + können, werden unter bestimmten Umständen die internen + Meldungen ungeachtet der Einstellung der <code class="directive"><a href="#errordocument">ErrorDocument</a></code>-Direktive verwendet. Insbesondere bei + einer fehlerhaften Anfrage werden der normale Bearbeitungsprozess sofort + beendet und die interne Meldung zurückgegeben. Das ist notwendig, um + Sicherheitsprobleme zu vermeiden, die auf Grund fehlerhafter Anfragen + entstehen.</p> + + <p>In Versionen vor 2.0 wurden Meldungen durch ein einzelnes + vorangestelltes Anführungszeichen (") erkannt.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../custom-error.html">Dokumentation zu individuellen +Fehlermeldungen</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a>-<a name="errorlog" id="errorlog">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ablageort, an dem der Server Fehler protokolliert</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> ErrorLog <var>Dateiname</var>|syslog[:<var>facility</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and + OS/2)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ErrorLog</code> bestimmt den Namen + der Datei, in welcher der Server alle auftretenden Fehler protokolliert + werden. Wenn <var>Dateiname</var> nicht absolut ist, wird er relativ zu + <code class="directive"><a href="#serverroot">ServerRoot</a></code> betrachtet.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ErrorLog /var/log/httpd/error_log + </code></p></div> + + <p>Wenn der <var>Dateiname</var> mit einem senkrechten Strich (|, + engl.: Pipe) beginnt, wird angenommen, dass es sich um einen Befehl + handelt, der ausgeführt wird, um das Fehlerprotokolls zu + verarbeiten.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ErrorLog "|/usr/local/bin/httpd_errors" + </code></p></div> + + <p>Die Verwendung von <code>syslog</code> anstelle eines Dateinamens + aktiviert die Protokollierung mittels syslogd(8), sofern das System + es unterstützt. Als Voreinstellung wird der syslog-Typ (syslog + facility) <code>local7</code> verwendet, Sie können dies jedoch + auch überschreiben, indem Sie die Syntax + <code>syslog:<var>facility</var></code> verwenden, wobei + <var>facility</var> einer der Namen sein kann, die üblicherweise + in syslog(1) dokumentiert sind.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ErrorLog syslog:user + </code></p></div> + + <p>SICHERHEITSHINWEIS: Lesen Sie das Dokument <a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a> + zu Einzelheiten darüber, warum Ihre Sicherheit gefährdet + sein kann, wenn das Verzeichnis, in dem die Log-Dateien gespeichert + werden, für jemand anderen, als den Benutzer, der den Server + gestartet hat, beschreibbar ist.</p> + + <div class="warning"><h3>Anmerkung</h3> + <p>Bei der Eingabe eines Dateipfads auf nicht-Unix-Plattformen sollte + darauf geachtet werden, nur (Vorwärts-)Schrägstriche zu + verwenden, auch wenn die Plattform rückwärts gerichtete + Schrägstriche (Backslashes) erlaubt. Im Allgemeinen ist es eine gute + Idee, innerhalb der Konfigurationsdateien immer + Vorwärts-Schrägstriche zu verwenden.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Apache-Log-Dateien</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a>-<a name="fileetag" id="fileetag">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Dateiattribute, die zur Erstellung des HTTP-Response-Headers +ETag verwendet werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FileETag <var>Komponente</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>FileETag INode MTime Size</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Wenn dem Dokument eine Datei zugrundeliegt, bestimmt die Direktive + <code class="directive">FileETag</code> die Dateiattribute, die zur Erstellung + des HTTP-Response-Headers <code>ETag</code> (Entity-Tag) verwendet + werden. (Der Wert von <code>ETag</code> wird bei der Cache-Verwaltung + zur Einsparung von Netzwerk-Bandbreite benutzt.) Im Apache 1.3.22 und + früher wurde der <code>ETag</code>-Wert <em>stets</em> aus + der I-Node, der Größe und dem Datum der letzten + Änderung (mtime) der Datei gebildet. Die Direktive + <code class="directive">FileETag</code> erlaubt es Ihnen, zu bestimmen, + welche dieser Eigenschaften -- falls überhaupt -- verwendet + werden sollen. Die gültigen Schlüsselworte lauten:</p> + + <dl> + <dt><strong>INode</strong></dt> + <dd>Die I-Node-Nummer wird in die Berechnung mit einbezogen</dd> + <dt><strong>MTime</strong></dt> + <dd>Datum und Uhrzeit der letzten Änderung werden mit einbezogen</dd> + <dt><strong>Size</strong></dt> + <dd>Die Anzahl der Bytes in der Datei wird mit einbezogen</dd> + <dt><strong>All</strong></dt> + <dd>Alle verfügbaren Angaben werden verwendet. Die ist + gleichbedeutend mit: + <div class="example"><p><code>FileETag INode MTime Size</code></p></div></dd> + <dt><strong>None</strong></dt> + <dd>Es wird keine <code>ETag</code>-Angabe in die Antwort eingefügt, + wenn dem Dokument eine Datei zugrundeliegt.</dd> + </dl> + + <p>Den Schlüsselwörtern <code>INode</code>, <code>MTime</code> + und <code>Size</code> kann entweder ein <code>+</code> oder ein + <code>-</code> vorangestellt werden, was die Änderung einer + Vorgabe erlaubt, die von einem größeren Umfeld + geerbt wurde. Jedes Schlüselwort ohne ein solches Präfix + hebt die ererbte Einstellung sofort und vollständig auf.</p> + + <p>Wenn die Konfiguration für ein Verzeichnis + <code>FileETag INode MTime Size</code> enthält + und die eines Unterverzeichnisses <code>FileETag -INode</code>, + dann ist die Einstellung für das Unterverzeichnis (die an + jedes Unter-Unterverzeichnis weitervererbt wird, welches dies nicht + überschreibt) äquivalent mit + <code>FileETag MTime Size</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Files" id="Files"><Files></a>-<a name="files" id="files">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enthält Direktiven, die sich nur auf passende Dateinamen +beziehen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Files <var>Dateiname</var>> ... </Files></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive"><Files></code> + begrenzt die Reichweite der enthaltenen Anweisungen auf Dateinamen. + Sie ist vergleichbar mit den Direktiven <code class="directive"><a href="#directory"><Directory></a></code> und <code class="directive"><a href="#location"><Location></a></code>. Sie muss eine + passende <code></Files></code>-Anweisung besitzen. + Die innerhalb dieses Abschnittes angegebenen Direktiven werden auf + jedes Objekt mit einem Basisnamen (letzte Komponente des Dateinamens) + angewendet, der auf die angegebenen Dateinamen passt. <code class="directive"><Files></code>-Container werden, nachdem die + <code class="directive"><a href="#directory"><Directory></a></code>-Container + und <code>.htaccess</code>-Dateien gelesen sind, jedoch vor den + <code class="directive"><a href="#location"><Location></a></code>-Containern, + in der Reihenfolge ihres Auftretens ausgeführt. Beachten Sie, dass + <code class="directive"><Files></code>-Anweisungen innerhalb von + <code class="directive"><a href="#directory"><Directory></a></code>-Containern + auftreten können, um den Teil des Dateisystems einzuschränken, + den sie betreffen.</p> + + <p>Das Argument <var>Dateiname</var> kann einen Dateinamen oder eine + Zeichenkette mit Platzhaltern enthalten, wobei <code>?</code> auf ein + einzelnes Zeichen passt und <code>*</code> auf eine beliebige Folge von + Zeichen. Erweiterte reguläre Ausdrücke können ebenfalls + verwendet werden, indem das Zeichen <code>~</code> hinzugefügt wird. + Beispielsweise würde</p> + + <div class="example"><p><code> + <Files ~ "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>auf die gebräuchlichsten Grafikformate im Internet passen. + <code class="directive"><a href="#filesmatch"><FilesMatch></a></code> wird + jedoch bevorzugt.</p> + + <p>Beachten Sie bitte, dass die <code class="directive"><Files></code>-Container anders als <code class="directive"><a href="#directory"><Directory></a></code>- und <code class="directive"><a href="#location"><Location></a></code>-Container innerhalb + von <code>.htaccess</code>-Dateien verwendet werden können. + Dies erlaubt den Anwendern auf Dateiebene die Kontrolle über ihre + eigenen Dateien.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a>-<a name="filesmatch" id="filesmatch">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enthält Direktiven, die für Dateinamen gelten, die + auf einen regulären Ausdruck passen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><FilesMatch <var>regex</var>> ... </FilesMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive"><FilesMatch></code> + begrenzt wie die Direktive <code class="directive"><a href="#files"><Files></a></code> die enthaltenen Anweisungen auf + Dateinamen. Sie akzeptiert jedoch reguläre Ausdrücke. + Beispielsweise würde</p> + + <div class="example"><p><code> + <FilesMatch "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>auf die gebräuchlichsten Grafikformate im Internet passen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a>-<a name="forcetype" id="forcetype">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Erzwingt die Auslieferung aller passendenden Dateien mit dem +angegebenen MIME-Content-Type</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ForceType <var>MIME-Type</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Wurde im Apache 2.0 in den Core verschoben</td></tr> +</table> + <p>Wenn sie innerhalb einer <code>.htaccess</code>-Datei, eines + <code class="directive"><a href="#directory"><Directory></a></code>-, + <code class="directive"><a href="#location"><Location></a></code>- + <code class="directive"><a href="#files"><Files></a></code>-Containers + angegeben wird, erzwingt die Direktive die Auslieferung aller + entsprechenden Dateien mit dem Content-Type, der durch + <var>MIME-Type</var> definiert wurde. Wenn Sie zum Beispiel ein + Verzeichnis voller GIF-Dateien haben, die Sie nicht alle durch + <code>.gif</code> kennzeichnen wollen, können Sie angeben:</p> + + <div class="example"><p><code> + ForceType image/gif + </code></p></div> + + <p>Beachten Sie bitte, dass die Direktive anders als <code class="directive"><a href="#defaulttype">DefaultType</a></code> alle MIME-Type-Zuordnungen + überschreibt, einschließlich Dateiendungen, die einen + Medientyp bezeichnen könnten.</p> + + <p>Sie können jede <code class="directive">ForceType</code>-Angabe + durch die Verwendung des Wertes <code>None</code> überschreiben:</p> + + <div class="example"><p><code> + # erzwinge image/gif für alle Dateien:<br /> + <Location /images><br /> + <span class="indent"> + ForceType image/gif<br /> + </span> + </Location><br /> + <br /> + # hier jedoch normale MIME-Type-Zuordnungen:<br /> + <Location /images/mixed><br /> + <span class="indent"> + ForceType None<br /> + </span> + </Location> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a>-<a name="hostnamelookups" id="hostnamelookups">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert DNS-Lookups auf Client-IP-Adressen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>HostnameLookups Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Diese Direktive aktiviert die DNS-Abfrage <span class="transnote">(<em>Anm.d.Ü.:</em> ein sogenannter + DNS-Lookup)</span>, so dass Hostnamen protokolliert (und in + <code>REMOTE_HOST</code> an CGIs/SSIs übergeben) werden könnnen. + Der Wert <code>Double</code> bezieht sich auf ein + Double-Reverse-DNS-Lookup. D.h. nachdem ein Reverse-Lookup + durchgeführt wurde, wird dann auf dem Ergebnis ein + Forward-Lookup ausgeführt. Wenigstens eine der IP-Adressen + aus dem Forward-Lookup muss der Originaladresse entsprechen. + (In der "tcpwrappers"-Terminologie wird dies <code>PARANOID</code> + genannt.)</p> + + <p>Unabhängig von der Einstellung wird ein Double-Reverse-Lookup + durchgeführt, wenn <code class="module"><a href="../mod/mod_access.html">mod_access</a></code> zur Zugriffskontrolle + per Hostnamen eingesetzt wird. Dies ist aus Sicherheitsgründen + notwendig. Beachten Sie, dass das Ergebnis dieses + Double-Reverse-Lookups nicht generell verfügbar ist, solange Sie + nicht <code>HostnameLookups Double</code> setzen. Wenn beispielsweise + nur <code>HostnameLookups On</code> angegeben ist und eine Anfrage + für ein Objekt erfolgt, welches durch Hostnamen-Beschränkungen + geschützt ist, dann wird CGIs nur das Ergebnis des + Singel-Reverse-Lookups in <code>REMOTE_HOST</code> übergeben, + egal ob das Doble-Reverse-Lookup fehlschlug oder nicht.</p> + + <p>Die Voreinstellung ist <code>Off</code>, um Netzwerktraffic bei den + Angeboten einzusparen, die nicht tatsächlich Reverse-Lookups + benötigen. Es ist auch für die Endanwender besser, da sie nicht + die zusätzliche Wartezeit ertragen müssen, die ein Lookup mit + sich bringt. Hoch frequentierte Angebote sollten diese Direktive auf + <code>Off</code>lassen. Das Hilfsprogramm <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, das standardmäßig in das + Unterverzeichnis <code>bin</code> Ihres Installationsverzeichnisses + kompiliert wird, kann dazu verwendet werden, um offline Hostnamen von + protokollierten IP-Adressen nachzuschlagen.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IdentityCheck" id="IdentityCheck">IdentityCheck</a>-<a name="identitycheck" id="identitycheck">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ermöglicht die Protokollierung der Identität des +entfernten Anwenders nach RFC1413</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>IdentityCheck On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>IdentityCheck Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive ermöglicht die RFC1413-konforme Protokollierung des + entfernten Benutzernamens für jede Verbindung, bei der auf der + Client-Maschine identd oder etwas ähnliches läuft. Die + Information wird im Zugriffsprotokoll festgehalten.</p> + + <p>Der Information sollte außer für eine rudimentäre + Benutzerverfolgung in keinster Weise vertraut werden.</p> + + <p>Beachten Sie bitte, dass dies beträchtliche Zeitprobleme + beim Zugriff auf Ihren Server verursachen kann, da für jede Anfrage + eine solche Rückfrage durchgeführt werden muss. Wenn + Firewalls beteiligt sind, kann unter Umständen jede Rückfrage + fehlschlagen und weitere 30 Sekunden Wartezeit zu jedem Hit + zufügen. Daher ist dies im Allgemeinen bei öffentlichen + Servern, die im Internet erreichbar sind, nicht besonders sinnvoll.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a>-<a name="ifdefine" id="ifdefine">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Schließt Direktiven ein, die nur ausgeführt werden, +wenn eine Testbedingung beim Start wahr ist</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfDefine [!]<var>Parametername</var>> ... + </IfDefine></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Der Container <code><IfDefine <var>Test</var>>...</IfDefine> + </code> wird dazu verwendet, Direktiven als bedingt zu kennzeichnen. + Die Direktiven innerhalb eines <code class="directive"><IfDefine></code>-Abschnittes werden nur ausgeführt, + wenn <var>Test</var> wahr ist. Ist <var>Test</var> falsch, wird alles + zwischen der Start- und Endemarkierung ignoriert.</p> + + <p>In der <code class="directive"><IfDefine></code>-Anweisung kann + <var>Test</var> eine von zwei Formen annehmen:</p> + + <ul> + <li><var>Parametername</var></li> + + <li><code>!</code><var>Parametername</var></li> + </ul> + + <p>Im ersten Fall werden die Direktiven zwischen der Start- und + Endemarkierung nur ausgeführt, wenn der Parameter namens + <var>Parametername</var> definiert ist. Die zweite Form kehrt den + Test um und führt die Direktiven nur dann aus, wenn + <var>Parametername</var> <strong>nicht</strong> definiert ist.</p> + + <p>Das Argument <var>Parametername</var> ist ein sogenanntes + "Define", das beim beim Start des Servers in der + <code class="program"><a href="../programs/httpd.html">httpd</a></code>-Befehlszeile durch + <code>-D<var>Parameter</var></code> angegeben wird.</p> + + <p><code class="directive"><IfDefine></code>-Container können + ineinander verschachtelt werden, um einfache Multi-Parameter-Tests + zu implementieren. Beispiel:</p> + + <div class="example"><p><code> + httpd -DReverseProxy ...<br /> + <br /> + # httpd.conf<br /> + <IfDefine ReverseProxy><br /> + <span class="indent"> + LoadModule rewrite_module modules/mod_rewrite.so<br /> + LoadModule proxy_module modules/libproxy.so<br /> + </span> + </IfDefine> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a>-<a name="ifmodule" id="ifmodule">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Schließt Direktiven ein, die abhängig vom +Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt +werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfModule [!]<var>Modulname</var>> ... + </IfModule></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Der Container <code><IfModule + <var>Test</var>>...</IfModule></code> wird dazu verwendet, + Direktiven als abhängig von dem Vorhandensein eines speziellen + Moduls zu kennzeichnen. Die Direktiven innerhalb eines <code class="directive"><IfModule></code>-Abschnitts werden nur + ausgeführt, wenn <var>Test</var> wahr ist. Ist <var>Test</var> + falsch, wird alles zwischen der Start- und Endemarkierung ignoriert.</p> + + <p>In der <code class="directive"><IfModule></code>-Anweisung + kann <var>Test</var> eine von zwei Formen annehmen:</p> + + <ul> + <li><var>Modulname</var></li> + + <li><code>!</code><var>Modulname</var></li> + </ul> + + <p>Im ersten Fall werden die Direktiven zwischen der Start- und + Endemarkierung nur ausgeführt, das Modul namens + <var>Modulname</var> im Apache enthalten ist -- entweder einkompiliert + oder mittels <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> + dynamisch geladen. Die zweite Form dreht den Test um und führt die + Direktiven nur aus, wenn <var>Modulname</var> <strong>nicht</strong> + enthalten ist.</p> + + <p>Das Argument <var>Modulname</var> ist der Dateiname des Moduls zum + Zeitpunkt seiner Kompilierung, z.B. <code>mod_rewrite.c</code>. + Wenn ein Modul aus mehreren Quelltext-Dateien besteht, verwenden Sie den + Namen der Datei, welche die Zeichenfolge + <code>STANDARD20_MODULE_STUFF</code> enthält.</p> + + <p><code class="directive"><IfModule></code>-Container können + inneinander verschachtelt werden, um einfache Multi-Modul-Tests + durchzuführen.</p> + + <p>Dieser Container sollte verwendet werden, wenn Sie eine + Konfigurationsdatei benötigen, die unabhängig davon funktioniert, + ob ein bestimmtes Modul verfügbar ist oder nicht. Normalerweise + ist es nicht notwendig, Direktiven in <code class="directive"><IfModule></code>-Containern unterzubringen.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Include" id="Include">Include</a>-<a name="include" id="include">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Fügt andere Konfigurationsdateien innerhalb der +Server-Konfigurationsdatei ein</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Include <var>Dateiname</var>|<var>Verzeichnis</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Die Platzhalter-Suche ist verfügbar seit +2.0.41</td></tr> +</table> + <p>Die Direktive erlaubt das Einfügen anderer Konfigurationsdateien + in die Konfigurationsdatei des Servers.</p> + + <p>Shell-typische (<code>fnmatch()</code>) Platzhlaterzeichen können + dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer + Reihenfolge einzufügen. Wenn <code class="directive">Include</code> + darüber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt, + liest der Apache alle Dateien in diesem Verzeichnis und allen + Unterverzeichnissen ein. Das Einfügen ganzer Verzeichnisse ist + jedoch nicht empfehlenswert, da temporäre Dateien sehr leicht + versehentlich in einem Verzeichnis zurückgelassen werden, was + <code class="program"><a href="../programs/httpd.html">httpd</a></code> scheitern lassen kann.</p> + + <p>Der angegebene Dateiname kann ein absoluter Pfad sein oder relativ zum + <code class="directive"><a href="#serverroot">ServerRoot</a></code>-Verzeichnis angegeben + werden.</p> + + <p>Beispiele:</p> + + <div class="example"><p><code> + Include /usr/local/apache2/conf/ssl.conf<br /> + Include /usr/local/apache2/conf/vhosts/*.conf + </code></p></div> + + <p>Oder Sie geben Pfade relativ zu Ihrem <code class="directive"><a href="#serverroot">ServerRoot</a></code>-Verzeichnis an:</p> + + <div class="example"><p><code> + Include conf/ssl.conf<br /> + Include conf/vhosts/*.conf + </code></p></div> + + <p>Der Aufruf von <code>apachectl configtest</code> liefert eine Liste + der Dateien, die während des Konfigurations-Tests verarbeitet + werden:</p> + + <div class="example"><p><code> + root@host# apachectl configtest<br /> + Processing config file: /usr/local/apache2/conf/ssl.conf<br /> + Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf<br /> + Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf<br /> + Syntax OK + </code></p></div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a>-<a name="keepalive" id="keepalive">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert persistente HTTP-Verbindungen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAlive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>KeepAlive On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Keep-Alive-Erweiterung von HTTP/1.0 und die + HTTP/1.1-Funktionalität persistenter Verbindungen unterstützt + langlebige HTTP-Sitzungen, die es erlauben, mehrere Anfragen über + die gleich TCP-Verbindung zu senden. In einigen Fällen wurde eine + Beschleunigung der Wartezeiten von beinahe 50% für HTML-Dokumente + mit vielen Bildern festgestellt. Um Keep-Alive-Verbindungen zu aktivieren, + setzen Sie <code>KeepAlive On</code>.</p> + + <p>Bei HTTP/1.0-Clients werden Keep-Alive-Verbindungen nur dann verwendet, + wenn sie vom Client eigens angefordert werden. Desweiteren können + Keep-Alive-Verbindungen bei einem HTTP/1.0-Client nur dann verwendet + werden, wenn die Länge des Inhalts im Voraus bekannt ist. Dies + impliziert, dass dynamische Inhalte wie CGI-Ausgaben, SSI-Seiten und + servergenerierte Verzeichnisauflistungen im Allgemeinen keine + Keep-Alive-Verbindungen mit HTTP/1.0-Clients verwenden. Bei + HTTP/1.1-Clients sind Keep-Alive-Verbindungen Voreinstellung, solange + nichts anderes angegeben ist. Wenn der Client es anfordert, wird + Chunked-Encoding verwendet, um Inhalte mit unbekannter Länge + über persistente Verbindungen zu senden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a>-<a name="keepalivetimeout" id="keepalivetimeout">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zeitspanne, die der Server während persistenter Verbindungen +auf nachfolgende Anfragen wartet</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAliveTimeout <var>Sekunden</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>KeepAliveTimeout 15</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Dies legt die Anzahl der Sekunden fest, die der Apache auf weitere + Anfragen wartet, bevor er die Verbindung schließt. Nachdem einmal + eine Anfrage entgegen genommen wurde, wird die durch die Direktive + <code class="directive"><a href="#timeout">Timeout</a></code> festgelegte Auszeit + angewendet.</p> + + <p>Auf stark belasteten Servern kann ein hoher + <code class="directive">KeepAliveTimeout</code>-Wert zu Durchsatzminderungen + führen. Je höher die Auszeit angegeben ist, desto länger + ist der Apache damit beschäftigt, auf untätige Clients zu + warten.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a>-<a name="limit" id="limit">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Beschränkt die eingeschlossenen Zugriffskontrollen auf +bestimmte HTTP-Methoden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Limit <var>Methode</var> [<var>Methode</var>] ... > ... + </Limit></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Zugriffskontrollen gelten normalerweise für <strong>alle</strong> + Zugriffsmethoden, was normalerweise auch das gewünschte Verhalten ist. + <strong>Im Allgemeinen sollten Zugriffskontrollen nicht in einen + <code class="directive"><Limit></code>-Container gepackt + werden.</strong></p> + + <p>Der Sinn der Direktive <code class="directive"><Limit></code> + ist es, den Effekt der Zugriffskontrollen auf die angegebenen + HTTP-Methoden zu beschränken. Bei allen anderen Methoden haben + die in der <code class="directive"><Limit></code>-Gruppe + enthaltenen Zugriffsbeschränkungen <strong>keine Wirkung</strong>. + Im folgenden Beispiel gilt die Zugriffskontrolle nur für die + Methoden <code>POST</code>, <code>PUT</code> und <code>DELETE</code>. + Alle anderen Methoden bleiben ungeschützt:</p> + + <div class="example"><p><code> + <Limit POST PUT DELETE><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </Limit> + </code></p></div> + + <p>Sie können eine oder mehrere der folgenden Methoden angeben: + <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>, + <code>CONNECT</code>, <code>OPTIONS</code>, + <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>, + <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>, + <code>LOCK</code> und <code>UNLOCK</code>. <strong>Die Methodennamen + unterscheiden zwischen Groß- und Kleinschreibung.</strong> Wenn + <code>GET</code> verwendet wird, sind <code>HEAD</code>-Anfragen + ebenfalls eingeschränkt. Die <code>TRACE</code>-Methode kann nicht + limitiert werden.</p> + + <div class="warning"> + Bei Zugriffsbeschränkungen ist ein <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Abschnitt stets einem + <code class="directive"><a href="#limit"><Limit></a></code>-Abschnitt + vorzuziehen, da ein <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Abschnitt vor allen möglichen + Methoden schützt.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a>-<a name="limitexcept" id="limitexcept">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Beschränkt Zugriffskontrollen auf alle HTTP-Methoden +außer den genannten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ... + </LimitExcept></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LimitExcept></code> und + <code></LimitExcept></code> werden dazu verwendet, eine Gruppe + von Anweisungen zur Zugriffskontrolle zusammenzufassen, die dann auf + jede HTTP-Methode angewendet werden, die <strong>nicht</strong> + als Argument angegeben ist. D.h. dies ist das Gegenteil des + <code class="directive"><a href="#limit"><Limit></a></code>-Containers + und kann zur Steuerung von Standard- und nicht-Standard-/unbekannten + Methoden verwendet werden. Für weitere Einzelheiten lesen Sie bitte + die Beschreibung zu <code class="directive"><a href="#limit"><Limit></a></code>.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + <LimitExcept POST GET><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </LimitExcept> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a>-<a name="limitinternalrecursion" id="limitinternalrecursion">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die maximale Anzahl interner Umleitungen und + verschachtelter Unteranfragen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar ab Apache 2.0.47</td></tr> +</table> + <p>Eine interne Umleitung erfolgt beispielsweise, wenn die Direktive + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> verwendet wird, welche + die Originalanfrage intern zu einem CGI-Skript weiterleitet. Eine + Unteranfrage <span class="transnote">(<em>Anm.d.Ü.:</em> engl. Subrequest)</span> ist ein Mechanismus des + Apache, um herauszufinden, was bei einer URI geschehen würde, wäre + sie angefordert worden. <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> z.B. verwendet + Unteranfragen, um nach den Dateien zu suchen, die in der <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>-Anweisung aufgeführt + sind.</p> + + <p><code class="directive">LimitInternalRecursion</code> bewahrt den Server vor + einem Absturz, wenn er in eine Endlosschleife aus internen Umleitungen + oder Unteranfragen hineinläuft. Derartige Schleifen werden + gewöhnlich durch Fehlkonfiguration verursacht.</p> + + <p>Die Direktive setzt zwei verschiedene Begrenzungen, welche je Anfrage + ausgewertet werden. Die erste <var>Zahl</var> bestimmt die maximale + Anzahl der Umleitungen, die aufeinander folgen dürfen. Die zweite + <var>Zahl</var> legt fest, wie tief Unteranfragen ineinander + verschachtelt werden dürfen. Wenn Sie lediglich eine <var>Zahl</var> + angeben, wird sie beiden Begrenzungen zugewiesen.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + LimitInternalRecursion 5 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a>-<a name="limitrequestbody" id="limitrequestbody">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Gesamtgröße des vom Client gesendeten +HTTP-Request-Body</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestBody <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestBody 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive gibt die Anzahl der <var>Bytes</var> zwischen 0 + (unbegrenzt) und 2147483647 (2GB) an, die im Request-Body (Datenteil der + Anfrage) erlaubt sind.</p> + + <p>Die Direktive <code class="directive">LimitRequestBody</code> erlaubt es dem + Benutzer, die Größe des HTTP-Request-Bodys in dem Kontext zu + begrenzen, in dem die Anweisung angegeben ist (Server, pro Verzeichnis, + pro Datei oder pro Adresse). Wenn die Anfrage des Clients dieses Limit + überschreitet, gibt der Server einen Fehler zurück anstatt die + Anfrage zu bearbeiten. Die Größe des Datenteils einer Anfrage + kann sehr stark variieren, abhängig von der Art der Ressource und + den für diese Ressource erlaubten Methoden. CGI-Skripte verwenden + den Datenteil üblicherweise zum Empfang von Formulardaten. Wird + die <code>PUT</code>-Methode angewendet, dann muss der Wert mindestens + so groß sein wie irgendeine Darstellungsform, die der Server + für diese Ressource akzeptieren soll.</p> + + <p>Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.</p> + + <p>Wenn Sie beispielsweise das Hochladen von Dateien zu einer bestimmten + Adresse erlauben, aber die Größe der hochgeladenen Dateien + auf 100K beschränken wollen, können Sie die folgende Anweisung + verwenden:</p> + + <div class="example"><p><code> + LimitRequestBody 102400 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a>-<a name="limitrequestfields" id="limitrequestfields">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Anzahl der HTTP-Request-Header, die vom Client +entgegengenommen werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFields <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestFields 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><var>Anzahl</var> ist ein Integer-Wert (eine positive Ganzzahl) + zwischen 0 (unbegrenzt) und 32767. Die Voreinstellung wird durch die + Konstante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (<code>100</code> + bei der Auslieferung) zur Kompilierungszeit gesetzt.</p> + + <p>Die Direktive <code class="directive">LimitRequestFields</code> erlaubt es + dem Serveradministrator, die maximale Anzahl der in einem HTTP-Request + erlaubten HTTP-Request-Header zu verändern. Für den Server + muss dieser Wert größer sein als die Anzahl der Headerzeilen, + die ein normaler Client senden könnte. Die Anzahl der Request-Header, + die ein gewöhnlicher Client verwendet, überschreitet selten 20 + Zeilen. Allerdings kann dies zwischen den verschiedenen + Client-Ausführungen variieren, oft abhängig vom Ausmaß, + mit dem der Anwender die genaue Content-Negotiation-Unterstützung + seines Browsers konfiguriert hat. Optionale HTTP-Erweiterungen + äußern sich oft in Form von HTTP-Headern.</p> + + <p>Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann. Der Wert sollte erhöht werden, wenn normale Clients + eine Fehlermeldung vom Server erhalten, die besagt, dass mit der Anfrage + zu viele Headerzeilen gesendet wurden.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LimitRequestFields 50 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a>-<a name="limitrequestfieldsize" id="limitrequestfieldsize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Länge des vom Client gesendeten +HTTP-Request-Headers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFieldsize <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestFieldsize 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive gibt die Anzahl der <var>Bytes</var> an, die in einem + HTTP-Header erlaubt sind.</p> + + <p>Die Direktive <code class="directive">LimitRequestFieldsize</code> erlaubt es + dem Serveradministrator, die maximale Größe eines + HTTP-Request-Headers zu verringern oder erhöhen. Für den Server + muss der Wert groß genug sein, um eine beliebige Headerzeile einer + normalen Client-Anfrage vorzuhalten. Die Größe variiert stark + zwischen den verschiedenen Client-Ausführungen, oft abhängig vom + Ausmaß, mit dem der Anwender die genaue + Content-Negotiation-Unterstützung seines Browsers konfiguriert hat. + SPNEGO-Authentisierungs-Header können bis zu 12392 Bytes lang + sein.</p> + + <p>Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LimitRequestFieldSize 4094 + </code></p></div> + + <div class="note">Unter normalen Umständen sollte die Voreinstellung nicht + verändert werden.</div> + + <div class="note">Sie benötigen mindestens Apache 2.0.53, um das Limit + über den einkompilierten Wert von DEFAULT_LIMIT_REQUEST_FIELDSIZE + hinaus zu setzen (8190 bei der Auslieferung).</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a>-<a name="limitrequestline" id="limitrequestline">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Länge der vom Client entgegengenommenen +HTTP-Anfragezeile</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestLine <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestLine 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive legt die Anzahl der <var>Bytes</var> zwischen 0 und + dem Wert der zur Kompilierungszeit definierten Konstante + <code>DEFAULT_LIMIT_REQUEST_LINE</code> (<code>8190</code> bei der + Auslieferung) fest, die in der HTTP-Anfragezeile erlaubt sind.</p> + + <p>Die Direktive <code class="directive">LimitRequestLine</code> erlaubt es dem + Serveradministrator, die maximale Größe der + HTTP-Anfragezeile auf einen Wert unterhalb der normalen, im Server + einkompilierten Größe des Eingabepuffers zu verringern. Da + die Anfragezeile aus der HTTP-Methode, der URI und der Protokollversion + besteht, bedeutet die <code class="directive">LimitRequestLine</code>-Direktive + eine Beschränkung der Länge der für eine Anfrage an den + Server erlaubten Anfrage-URI. Für den Server muss der Wert groß + genug sein, um jeden seiner Ressourcennamen vorzuhalten, + einschließlich aller Informationen, die im Query-String einer + <code>GET</code>-Anfrage übergeben werden können.</p> + + <p>Die Direktive gibt dem Serveradministrator eine größere + Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der + Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich + sein kann.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LimitRequestLine 4094 + </code></p></div> + + <div class="note">Unter normalen Umständen sollte die Voreinstellung nicht + verändert werden.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a>-<a name="limitxmlrequestbody" id="limitxmlrequestbody">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Größe eines XML-basierten +Request-Bodys</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitXMLRequestBody <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Dies gibt die Grenze für die maximale Größe (in Bytes) + des XML-basierten Request-Bodys an. Der Wert <code>0</code> deaktiviert + diese Prüfung.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LimitXMLRequestBody 0 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Location" id="Location"><Location></a>-<a name="location" id="location">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Wendet die enthaltenen Direktiven nur auf die entsprechenden +URLs an</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Location + <var>URL-Pfad</var>|<var>URL</var>> ... </Location></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive"><Location></code> + begrenzt die Reichweite der enthaltenen Anweisungen auf URLs. + Sie ist der Direktive <code class="directive"><a href="#directory"><Directory></a></code> ähnlich und startet einen + Abschnitt, der mit der Anweisung <code></Location></code> + abgeschlossen wird. <code class="directive"><Location></code>-Container werden, nachdem die + <code class="directive"><a href="#directory"><Directory></a></code>-Container + und <code>.htaccess</code>-Dateien gelesen wurden, und nach den + <code class="directive"><a href="#files"><Files></a></code>-Containern, in + der Reihenfolge ausgeführt, in der sie in der Konfigurationsdatei + erscheinen.</p> + + <p><code class="directive"><Location></code>-Abschnitte operieren + vollständig außerhalb des Dateisystems. Dies hat mehrere + Konsequenzen. An Wichtigsten, <code class="directive"><Location></code>-Anweisungen sollten nicht dafür + verwendet werden, den Zugriff zu Teilen des Dateisystems zu steuern. Da + mehrere unterschiedliche URLs auf die gleiche Stelle des Dateisystems + zeigen können, könnte eine solche Zugriffskontrolle u.U. + umgangen werden.</p> + + <div class="note"><h3>Wann sollte<code class="directive"><Location></code> verwendet werden</h3> + + <p>Verwenden Sie <code class="directive"><Location></code>, um + Anweisungen auf Inhalte anzuwenden, die außerhalb des Dateisystems + abgelegt sind. Benutzen Sie <code class="directive"><a href="#directory"><Directory></a></code> und <code class="directive"><a href="#files"><Files></a></code> für Inhalte, die + innerhalb des Dateisystems abgelegt sind. Eine Ausnahme bildet + <code><Location /></code>, welches ein einfacher Weg ist, um eine + Konfiguration auf den gesamten Server anzuwenden.</p> + </div> + + <p>Für alle nicht-Proxy-Anfragen ist die entsprechende URL + ein URL-Pfad in der Form <code>/path/</code>. Es dürfen weder ein + Schema, noch ein Hostname, noch ein Port, noch ein Query-String einbezogen + werden. Für Proxy-Anfragen hat die Vergleichs-URL die Form + <code>schema://servername/path</code>. Das Präfix muss angegeben + werden.</p> + + <p>Die URL kann Platzhalter verwenden. In einer Zeichenfolge mit + Platzhaltern entspricht <code>?</code> einem einzelnen Zeichen und + <code>*</code>einer beliebigen Zeichenfolge.</p> + + <p>Erweiterte reguläre Ausdrücke können ebenfalls + verwendet werden, indem das Zeichen <code>~</code> hinzugefügt + wird. Beispielsweise würde</p> + + <div class="example"><p><code> + <Location ~ "/(extra|special)/data"> + </code></p></div> + + <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code> + oder <code>/special/data</code> enthalten. Die Direktive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> verhält sich + genauso wie <code class="directive"><Location></code> mit + regulären Ausdrücken.</p> + + <p>Die Funktionalität von <code class="directive"><Location></code> ist insbesondere dann nützlich, + wenn sie mit der <code class="directive"><a href="#sethandler">SetHandler</a></code>-Direktive + kombiniert wird. Um zum Beispiel Statusabfragen zu aktivieren, sie aber + nur von Browsern aus <code>foo.com</code> zuzulassen, könnten Sie + schreiben:</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from .foo.com<br /> + </span> + </Location> + </code></p></div> + + <div class="note"><h3>Anmerkung zu / (Schrägstrich, Slash)</h3> + <p>Das Slash-Zeichen hat eine besondere Bedeutung, je nachdem, wo es + in der URL erscheint. Manche werden sein Verhalten vom Dateisystem + gewohnt sein, wo mehrere aufeinanderfolgende Schrägstriche + häufig zu einem Schrägstrich zusammengefaßt werden + (<em>d.h.</em> <code>/home///foo</code> ist das gleiche wie + <code>/home/foo</code>). Im URL-Raum ist dies nicht notwendigerweise + genauso. Bei der Direktive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> und der <code class="directive"><Location></code>-Version mit regulären Ausdrücken + müssen Sie explizit mehrere Schrägstriche angeben, wenn Sie + genau dies beabsichtigen.</p> + + <p>Beispielsweise würde <code><LocationMatch ^/abc></code> + auf die angeforderte URL <code>/abc</code> passen, nicht aber auf + <code>//abc</code>. Die Direktive <code class="directive"><Location></code> (ohne reguläre Ausdrücke) verhält + sich ähnlich, wenn sie für Proxy-Anfragen verwendet wird. + Wenn <code class="directive"><Location></code> (ohne + reguläre Ausdrücke) jedoch für nicht-Proxy-Anfragen + verwendet wird, werden stillscheigend mehrere Schrächstriche mit + mit einem einzigen Schrägstrich gleichgesetzt. Geben Sie + beispielsweise <code><Location /abc/def></code> an und die + Anfrage lautet auf <code>/abc//def</code>, dann greift die Anweisung.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a>-<a name="locationmatch" id="locationmatch">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Wendet die enthaltenen Direktiven nur auf URLs an, die auf +reguläre Ausdrücke passen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><LocationMatch + <var>regex</var>> ... </LocationMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive"><LocationMatch></code> + begrenzt die Reichweite der enthaltenen Anweisungen in der gleichen Weise + wie <code class="directive"><a href="#location"><Location></a></code> auf URLs. + Sie verwendet jedoch reguläre Ausdrücke als Argument anstelle + einer einfachen Zeichenkette. Beispielsweise würde</p> + + <div class="example"><p><code> + <LocationMatch "/(extra|special)/data"> + </code></p></div> + + <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code> + oder <code>/special/data</code> enthalten.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a>-<a name="loglevel" id="loglevel">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Steuert die Ausführlichkeit des Fehlerprotokolls</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogLevel <var>Level</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LogLevel warn</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive">LogLevel</code> stellt die Ausführlichkeit + der Nachrichten ein, die im Fehlerprotokoll aufgezeichnet werden (siehe + Direktive <code class="directive"><a href="#errorlog">ErrorLog</a></code>). Die folgenden, + nach absteigender Aussagekraft sortierten <var>Level</var> sind + verfügbar:</p> + + <table class="bordered"> + + <tr> + <th><strong>Level</strong> </th> + + <th><strong>Beschreibung</strong> </th> + + <th><strong>Beispiel</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + + <td>Notfall - das System ist unbenutzbar.</td> + + <td>"Child cannot open lock file. Exiting" + <span class="transnote">(<em>Anm.d.Ü.:</em> "Kindprozess kann die Lock-Datei nicht öffnen. + Beende Programm")</span></td> + </tr> + + <tr> + <td><code>alert</code> </td> + + <td>Maßnahmen müssen unverzüglich ergriffen + werden.</td> + + <td>"getpwuid: couldn't determine user name from uid" + <span class="transnote">(<em>Anm.d.Ü.:</em> "getpwuid: kann keinen Benutzernamen aus der UID + ermitteln")</span></td> + </tr> + + <tr> + <td><code>crit</code> </td> + + <td>Kritischer Zustand.</td> + + <td>"socket: Failed to get a socket, exiting child" + <span class="transnote">(<em>Anm.d.Ü.:</em> "socket: Socket-Zuweisung fehlgeschlagen, beende + Kindprozess")</span></td> + </tr> + + <tr> + <td><code>error</code> </td> + + <td>Fehlerbedingung.</td> + + <td>"Premature end of script headers" + <span class="transnote">(<em>Anm.d.Ü.:</em> "Vorzeitiges Ende der Skript-Header")</span></td> + </tr> + + <tr> + <td><code>warn</code> </td> + + <td>Warnung.</td> + + <td>"child process 1234 did not exit, sending another SIGHUP" + <span class="transnote">(<em>Anm.d.Ü.:</em> "Kindprozess 1234 nicht beendet, sende ein weiteres + SIGHUP")</span></td> + </tr> + + <tr> + <td><code>notice</code> </td> + + <td>Normaler, aber signifikanter Zustand.</td> + + <td>"httpd: caught SIGBUS, attempting to dump core in ..." + <span class="transnote">(<em>Anm.d.Ü.:</em> "httpd: SIGBUS empfangen, versuche Speicherabbild nach ... + zu schreiben")</span></td> + </tr> + + <tr> + <td><code>info</code> </td> + + <td>Information.</td> + + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..." + <span class="transnote">(<em>Anm.d.Ü.:</em> "Server scheint beschäftigt zu sein, + (möglicherweise müssen Sie StartServers oder + Min/MaxSpareServers erhöhen)")</span></td> + </tr> + + <tr> + <td><code>debug</code> </td> + + <td>Debug-Level-Nachrichten</td> + + <td>"Opening config file ..." + <span class="transnote">(<em>Anm.d.Ü.:</em> "Öffne Konfigurationsdatei ...")</span></td> + </tr> + </table> + + <p>Geben Sie einen bestimmten Level an, denn werden Nachrichten von + allen höheren Leveln ebenso angezeigt. <em>Z.B.:</em> Wenn + <code>LogLevel info</code> eingestellt ist, dann werden Nachrichten der + Log-Level <code>notice</code> und <code>warn</code> ebenso eingetragen.</p> + + <p>Es wird empfohlen, mindestens den Level <code>crit</code> zu + verwenden.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + LogLevel notice + </code></p></div> + + <div class="note"><h3>Hinweis</h3> + <p>Beim Protokollieren in eine reguläre Datei können + Nachrichten des Levels <code>notice</code> nicht unterdrückt + werden und werden daher immer protokolliert. Dies trifft allerdings + nicht zu wenn mittels <code>syslog</code> protokolliert wird.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a>-<a name="maxkeepaliverequests" id="maxkeepaliverequests">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Anfragen, die bei einer persistenten Verbindung +zulässig sind</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxKeepAliveRequests <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">MaxKeepAliveRequests</code> + begrenzt die Anzahl der Anfragen, die pro Verbindung zulässig sind, + wenn <code class="directive"><a href="#keepalive">KeepAlive</a></code> eingeschaltet ist. + Bei der Einstellung <code>0</code> sind unbegrenzt viele Anfragen + erlaubt. Wir empfehlen für diese Einstellung einen hohen Wert + für eine maximale Serverleistung.</p> + + <p>Beispiel:</p> + + <div class="example"><p><code> + MaxKeepAliveRequests 500 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a>-<a name="namevirtualhost" id="namevirtualhost">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt eine IP-Adresse für den Betrieb namensbasierter +virtueller Hosts</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NameVirtualHost <var>Adresse</var>[:<var>Port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">NameVirtualHost</code> ist erforderlich, + wenn Sie <a href="../vhosts/">namensbasierte virtuelle Hosts</a> + konfigurieren möchten.</p> + + <p>Obwohl <var>Adresse</var> eine Hostname sein kann, wird empfohlen, + dass Sie stets eine IP-Adresse verwenden, z.B.:</p> + + <div class="example"><p><code> + NameVirtualHost 111.22.33.44 + </code></p></div> + + <p>Mit der <code class="directive">NameVirtualHost</code>-Anweisung geben Sie + die IP-Adresse an, unter der der Server Anfragen für + namensbasierte virtuelle Hosts entgegennimmt. Das ist üblicherweise + die Adresse, zu der die Namen Ihrer namensbasierten virtuellen Hosts + aufgelöst werden. Falls eine Firewall oder ein anderer Proxy die + Anfrage in Empfang nimmt und Sie zu einer weiteren IP-Adresse des Servers + weiterleitet, müssen Sie die IP-Adresse der physikalischen + Schnittstelle der Maschine angeben, welche die Anfragen bedient. + Wenn Sie mehrere namensbasierte Hosts an verschiedenen Adressen + betreiben, wiederholen Sie einfach die Anweisung für jede + Adresse.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Beachten Sie, dass der "Hauptserver" und jeder + <code>_default_</code>-Server <strong>niemals</strong> bei einer + Anfrage an einer <code class="directive">NameVirtualHost</code>-IP-Adresse + bedient wird (es sei denn, Sie geben aus irgendwelchen Gründen + <code class="directive">NameVirtualHost</code> an, definieren dann aber keine + <code class="directive">VirtualHost</code>s für diese Adresse).</p> + </div> + + <p>Optional können Sie die Nummer eines Ports angeben, an dem + namensbasierte virtuelle Hosts verwendet werden sollen. Beispiel:</p> + + <div class="example"><p><code> + NameVirtualHost 111.22.33.44:8080 + </code></p></div> + + <p>IPv6-Adressen müssen, wie im folgenden Beispiel angegeben, in + eckige Klammern eingeschlossen werden:</p> + + <div class="example"><p><code> + NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 + </code></p></div> + + <p>Um an allen Schnittstellen Anfragen zu empfangen, können Sie + <code>*</code> als Argument verwenden.</p> + + <div class="example"><p><code> + NameVirtualHost * + </code></p></div> + + <div class="note"><h3>Argument der Direktive <code class="directive"><VirtualHost></code></h3> + <p>Beachten Sie, dass das Argument der <code class="directive"><VirtualHost></code>-Anweisung exakt auf das Argument + der <code class="directive">NameVirtualHost</code>-Anweisung passen muss.</p> + + <div class="example"><p><code> + NameVirtualHost 1.2.3.4<br /> + <VirtualHost 1.2.3.4><br /> + # ...<br /> + </VirtualHost><br /> + </code></p></div> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../vhosts/">Dokumentation zu virtuellen Hosts</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Options" id="Options">Options</a>-<a name="options" id="options">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Definiert, welche Eigenschaften oder Funktionen in einem +bestimmten Verzeichnis verfügbar sind</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Options + [+|-]<var>Option</var> [[+|-]<var>Option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Options All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">Options</code> steuert, welche + Eigenschaften bzw. Funktionen in einem bestimmten Verzeichnis + verfügbar sind.</p> + + <p><var>Option</var> kann auf <code>None</code> gesetzt werden, wobei + keine der besonderen Eigenschaften verfügbar sind, oder auf eines + oder mehrere der folgenden:</p> + + <dl> + <dt><code>All</code></dt> + + <dd>Alle Optionen außer <code>MultiViews</code>. Dies ist + die Voreinstellung.</dd> + + <dt><code>ExecCGI</code></dt> + + <dd>Die Ausführung von CGI-Skripten, welche <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> + verwenden, ist erlaubt.</dd> + + <dt><code>FollowSymLinks</code></dt> + + <dd>Der Server folgt symbolischen Links in diesem Verzeichnis. + <div class="note"> + <p>Auch wenn der Server symbolischen Links folgt, bedeutet dies + <em>nicht</em>, dass der zum Abgleich gegen <code class="directive"><a href="#directory"><Directory></a></code>-Abschnitte verwendete Pfadname + wechselt.</p> + <p>Beachten Sie auch, dass diese Option innerhalb eines + <code class="directive"><a href="#location"><Location></a></code>-Abschnitts + <strong>ignoriert wird</strong>.</p> + </div></dd> + + <dt><code>Includes</code></dt> + + <dd> + Server Side Includes, die von <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> bereitgestellt + werden, sind erlaubt.</dd> + + <dt><code>IncludesNOEXEC</code></dt> + + <dd>Server Side Includes sind erlaubt, <code>#exec cmd</code> + und <code>#exec cgi</code> sind jedoch deaktiviert. Es ist aber noch + möglich, CGI-Skripte aus + <code class="directive"><a href="../mod/mod_cgi.html#scriptalias">ScriptAlias</a></code>-Verzeichnissen mittels + <code>#include virtual</code> einzubinden.</dd> + + <dt><code>Indexes</code></dt> + + <dd>Wenn eine URL, die auf ein Verzeichnis zeigt, in dem sich keine durch + <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> definierte + Indexdatei (<em>z.B.</em> <code>index.html</code>) befindet, dann liefert + <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> eine formatierte Auflistung des + Verzeichnisses zurück.</dd> + + <dt><code>MultiViews</code></dt> + + <dd>"MultiViews" sind bei der Verwendung von + <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> erlaubt (siehe <a href="../content-negotiation.html">Content-Negotiation</a>).</dd> + + <dt><code>SymLinksIfOwnerMatch</code></dt> + + <dd>Der Server folgt nur symbolischen Links, bei denen die Zieldatei + bzw. das Zielverzeichnis der gleichen Benutzerkennung gehört, wie + der Link. + <div class="note"><h3>Anmerkung</h3> Diese Option wird innerhalb eines + <code class="directive"><a href="#location"><Location></a></code>-Abschnitts + ignoriert.</div></dd> + </dl> + + <p>Wenn mehrere <code class="directive">Options</code> auf ein Verzeichnis + angewandt werden können, dann wird normalerweise die + spezifischste <span class="transnote">(<em>Anm.d.Ü.:</em> Gemeint ist die zuletzt + ausgeführte Option.)</span> verwendet und alle anderen werden + ignoriert; die Optionen werden nicht vermischt. (Siehe auch <a href="../sections.html#mergin">Wie Abschnitte zusammengeführt + werden.</a>.) Wenn jedoch <em>allen</em> Optionen der + <code class="directive">Options</code>-Anweisung eines der Zeichen + <code>+</code> oder <code>-</code> vorangestellt wird, werden die Optionen + zusammengemischt. Jede Option mit vorangestelltem <code>+</code> wird + zu den momentan gültigen Optionen hinzugefügt und jede Option + mit vorangestelltem <code>-</code> wird aus den derzeit gültigen + Optionen entfernt.</p> + + <div class="warning"><h3>Warnung</h3> + <p>Die Verwendung von <code class="directive">Options</code>, bei der einzelne + Optionen mit <code>+</code> oder <code>-</code> und Optionen ohne diese + Präfixe vermischt werden, ist ungültig und führt + häufig zu unerwarteten Ergebnissen.</p> + </div> + + <p>So wird zum Beispiel ohne die Zeichen <code>+</code> und + <code>-</code></p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options Includes<br /> + </span> + </Directory> + </code></p></div> + + <p>für das Verzeichnis <code>/web/docs/spec</code> wird jetzt + lediglich <code>Includes</code> gesetzt. Wenn die zweite + <code class="directive">Options</code>-Anweisung jedoch <code>+</code>- + und <code>-</code>-Zeichen verwenden würde,</p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options +Includes -Indexes<br /> + </span> + </Directory> + </code></p></div> + + <p>dann würden die Optionen <code>FollowSymLinks</code> und + <code>Includes</code> für das Verzeichnis <code>/web/docs/spec</code> + gesetzt.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Die Verwendung von <code>-IncludesNOEXEC</code> oder + <code>-Includes</code> deaktiviert Server Side Includes unabhängig + von der vorigen Einstellung vollständig.</p> + </div> + + <p>Die Voreinstellung ist <code>All</code>, sofern keine anderen Angaben + gemacht wurden.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Require" id="Require">Require</a>-<a name="require" id="require">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Wählt die authentisierten Benutzer aus, die auf eine +Ressource zugreifen können</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Require <var>Name</var> [<var>Name</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive wählt aus, welche authentisierten Benutzer auf eine + Ressource zugreifen dürfen. Folgende Syntax ist erlaubt:</p> + + <dl> + <dt><code>Require user <var>User-ID</var> [<var>User-ID</var>] + ...</code></dt> + <dd>Nur die genannten Benutzer dürfen auf die Ressource + zugreifen.</dd> + + <dt><code>Require group <var>Gruppenname</var> [<var>Gruppenname</var>] + ...</code></dt> + <dd>Nur Benutzer der genannten Gruppen dürfen auf die + Ressource zugreifen.</dd> + + <dt><code>Require valid-user</code></dt> + <dd>Alle gültigen Benutzer dürfen auf die Ressource + zugreifen.</dd> + </dl> + + <p><code class="directive">Require</code> muss von den Direktiven + <code class="directive"><a href="#authname">AuthName</a></code> und <code class="directive"><a href="#authtype">AuthType</a></code> sowie Direktiven wie + <code class="directive"><a href="../mod/mod_auth.html#authuserfile">AuthUserFile</a></code> + und <code class="directive"><a href="../mod/mod_auth.html#authgroupfile">AuthGroupFile</a></code> + (zur Definition von Benutzern und Gruppen) begleitet werden, um + korrekt zu funktionieren. Beispiel:</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Geschützte Ressource"<br /> + AuthUserFile /web/users<br /> + AuthGroupFile /web/groups<br /> + Require group admin + </code></p></div> + + <p>Zugriffskontrollen, die in dieser Form angewandt werden, gelten + für <strong>alle</strong> Methoden. <strong>Dies ist normalerweise + gewünscht.</strong> Wenn Sie Zugriffskontrollen nur auf bestimmte + Methoden anwenden möchten, während andere Methoden + ungeschützt bleiben, dann müssen Sie die + <code class="directive">Require</code>-Anweisung innerhalb eines + <code class="directive"><a href="#limit"><Limit></a></code>-Abschnitts + platzieren.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#satisfy">Satisfy</a></code></li> +<li><code class="module"><a href="../mod/mod_access.html">mod_access</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a>-<a name="rlimitcpu" id="rlimitcpu">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt den CPU-Verbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitCPU <var>Sekunden</var>|max [<var>Sekunden</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als <code>root</code> läuft, zumindest in + der anfänglichen Startphase.</p> + + <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.</p> + + <p>CPU-Ressourcenbegrenzung wird in Sekunden pro Prozess + ausgedrückt.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a>-<a name="rlimitmem" id="rlimitmem">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt den Speicherverbrauch von Prozessen, die von +Apache-Kindprozessen gestartet wurden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitMEM <var>Bytes</var>|max [<var>Bytes</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als <code>root</code> läuft, zumindest in + der anfänglichen Startphase.</p> + + <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.</p> + + <p>Die Begrenzung des Speicherverbrauchs wird in Bytes pro Prozess + ausgedrückt.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a>-<a name="rlimitnproc" id="rlimitnproc">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet +werden können, der ihrerseits von Apache-Kinprozessen gestartet +wurden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine + weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter + setzt die Maximalgrenze für die Ressourcennutzung. Jeder der + Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> + zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum + verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung + erfordert, dass der Server als <code>root</code> läuft, zumindest in + der anfänglichen Startphase.</p> + + <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden + Apache-Kindprozessen abgespalten werden, nicht auf die + Apache-Kindprozesse selbst. Dies beinhaltet CGI-Skripte und + SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess + abgespalten werden, wie z.B. Protokollierung.</p> + + <p>Prozessbegrenzungen steuern die Anzahl der Prozesse pro Benutzer.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Wenn CGI-Prozesse nicht unter anderen Benutzerkennungen als der + User-ID des Webservers laufen, dann beschränkt diese Direktive + die Anzahl der Prozesse, die der Server selbst erstellen kann. + Kennzeichen einer solchen Situation sind + <strong><code>cannot fork</code></strong>-Meldungen + <span class="transnote">(<em>Anm.d.Ü.:</em> <code>kann nicht abspalten</code>)</span> in der + Datei <code>error_log</code>.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a>-<a name="satisfy" id="satisfy">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zusammenspiel von rechnerbasierter Zugriffskontrolle und +Benutzerauthentisierung</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Satisfy Any|All</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Satisfy All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Wird seit Version 2.0.51 von <code class="directive"><a href="#limit"><Limit></a></code> und <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> beeinflusst</td></tr> +</table> + <p>Verfahrensweise für den Zugriff, falls sowohl <code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code> als auch <code class="directive"><a href="#require">Require</a></code> verwendet werden. Der Parameter kann + entweder <code>All</code> oder <code>Any</code> sein. Die Direktive ist + nur dann nützlich, wenn der Zugriff zu einem bestimmten Bereich + durch Benutzername/Passwort <em>und</em> Clientrechner-Adressen + eingeschränkt ist. In diesem Fall verlangt die Voreinstellung + (<code>All</code>), dass der Client die Adressbeschränkung passiert + <em>und</em> eine gültige Benutzerkennung und ein gültiges + Passwort übermittelt. Mit der Auswahl <code>Any</code> wird dem + Client der Zugriff erlaubt, wenn er entweder die Rechner-Beschänkung + passiert oder einen gültigen Benutzernamen und ein gültiges + Passwort übermittelt. Dies kann verwendet werden, um einen Bereich + mit einem Passwort zu schützen, jedoch Clients von bestimmten + Adressen ohne Abfrage des Passwortes zuzulassen.</p> + + <p>Wenn Sie beispielsweise möchten, dass Personen aus Ihrem + privaten Netzwerk unbechänkten Zugriff zu Teilen Ihres + Webangebots haben, jedoch verlangen, dass Personen außerhalb + Ihres privaten Netzwerks ein Passwort übergeben müssen, + können Sie eine Konfiguration ähnlich der folgenden + verwenden:</p> + + <div class="example"><p><code> + Require valid-user<br /> + Allow from 192.168.1<br /> + Satisfy Any + </code></p></div> + + <p>Seit Version 2.0.51 können + <code class="directive">Satisfy</code>-Anweisungen durch <code class="directive"><a href="#limit"><Limit></a></code>- und <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Abschnitte auf bestimmte Methoden + beschränkt werden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_access.html#allow">Allow</a></code></li> +<li><code class="directive"><a href="#require">Require</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a>-<a name="scriptinterpretersource" id="scriptinterpretersource">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Methode zur Ermittlung des Interpreters von +CGI-Skripten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>ausschließlich Win32; Die Option + <code>Registry-Strict</code> ist verfügbar seit Apache +2.0.</td></tr> +</table> + <p>Die Direktive steuert, wie der Apache den Interpreter zur Ausführung + von CGI-Skripten bestimmt. Die Voreinstellung ist <code>Script</code>. Dies + veranlaßt den Apache, den Interpreter zu verwenden, auf den die + Shebang-Zeile (erste Zeile, beginnt mit <code>#!</code>) im Skript zeigt. + Auf Win32-Systemen sieht diese Zeile üblicherweise so aus:</p> + + <div class="example"><p><code> + #!C:/Perl/bin/perl.exe + </code></p></div> + + <p>oder, wenn <code>perl</code> im Pfad (Umgebungsvariable + <code>PATH</code>) liegt, einfach:</p> + + <div class="example"><p><code> + #!perl + </code></p></div> + + <p>Die Einstellung <code>ScriptInterpreterSource Registry</code> + veranlaßt eine Suche in <code>HKEY_CLASSES_ROOT</code> der + Windows-Registrierungsdatenbank und verwendet die Endung der Skript-Datei + (z.B. <code>.pl</code>) als Suchargument. Der durch den Unterschlüssel + <code>Shell\ExecCGI\Command</code> oder, falls dieser nicht existiert, + <code>Shell\Open\Command</code> definierte Befehl wird zum Öffnen der + Skript-Datei verwendet. Wenn die Registrierungsschlüsel nicht gefunden + werden, dann verwendet der Apache die Option <code>Script</code>.</p> + + <div class="warning"><h3>Sicherheit</h3> + <p>Seien Sie vorsichtig, wenn Sie <code>ScriptInterpreterSource + Registry</code> bei Verzeichnissen verwenden, auf die eine <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>-Anweisung zeigt, denn der + Apache wird versuchen, <strong>jede</strong> Datei innerhalb des + Verzeichnisses auszuführen. Die Einstellung <code>Registry</code> + kann unerwünschte Programmaufrufe bei Dateien verursachen, die + üblicherweise nicht ausgeführt werden. Auf den meisten + Windows-Systemen beispielsweise startet der voreingestellte + Öffnen-Befehl für <code>.htm</code>-Dateien den Microsoft + Internet Explorer, so dass jede HTTP-Anfrage nach einer existierenden + <code>.htm</code>-Datei im Skript-Verzeichnis den Browser auf dem Server + im Hintergrund starten würde. Dies ist leichte Art und Weise, Ihr + System binnen etwa einer Minute zum Absturz zu bringen.</p> + </div> + + <p>Die seit Apache 2.0 neue Option <code>Registry-Strict</code> + macht das gleiche wie <code>Registry</code>, verwendet jedoch nur den + Unterschlüssel <code>Shell\ExecCGI\Command</code>. Der Schlüssel + <code>ExecCGI</code> ist gewöhnlich nicht voreingestellt. Er muss + manuell in der Windows-Registrierungsdatenbank eingerichtet werden und + verhindert dann versehentlicht Programmaufrufe auf Ihrem System.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a>-<a name="serveradmin" id="serveradmin">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>E-Mail-Adresse, die der Server in Fehlermeldungen einfügt, +welche an den Client gesendet werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAdmin <var>E-Mail-Adresse</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive">ServerAdmin</code> legt die E-Mail-Adresse fest, + die der Server in jede Fehlermeldung einfügt, die er an den + Client zurückschickt.</p> + + <p>Es kann sich lohnen, hierfür eine reservierte Adresse + anzugeben, z.B.</p> + + <div class="example"><p><code> + ServerAdmin www-admin@foo.example.com + </code></p></div> + + <p>da Anwender nicht unbedingt erwähnen, dass sie vom Server + sprechen!</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a>-<a name="serveralias" id="serveralias">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Alternativer Name für einen Host, der verwendet wird, wenn +Anfragen einem namensbasierten virtuellen Host zugeordnet werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAlias <var>Hostname</var> [<var>Hostname</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerAlias</code> bestimmt die + alternativen Namen eines Hosts zur Verwendung mit <a href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>.</p> + + <div class="example"><p><code> + <VirtualHost *><br /> + ServerName server.domain.com<br /> + ServerAlias server server2.domain.com server2<br /> + # ...<br /> + </VirtualHost> + </code></p></div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../vhosts/">Apache-Dokumentation zu virtuellen + Hosts</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a>-<a name="servername" id="servername">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Rechnername und Port, die der Server dazu verwendet, sich +selbst zu identifizieren</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerName +<var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Diese Direktive löst in Version 2.0 die + Funktionalität der Direktive <code class="directive">Port</code> aus + Version 1.3 ab.</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerName</code> bestimmt den + Rechnernamen und Port, den der Server dazu verwendet, sich selbst + zu identifizieren. Diese werden bei der Erstellung von Umleitungs-URLs + benötigt. Wenn beispielsweise der Name der Maschine, die den Webserver + beherbergt, <code>simple.example.com</code> lautet, die Maschine jedoch + auch einen DNS-Alias <code>www.example.com</code> besitzt und Sie den + Webserver so identifizieren möchten, sollten Sie die folgende + Anweisung verwenden:</p> + + <div class="example"><p><code> + ServerName www.example.com:80 + </code></p></div> + + <p>Wenn kein <code class="directive">ServerName</code> angegeben wurde, + dann versucht der Server den Rechnernamen mittels eines Reverse-Lookup + herzuleiten. Wenn kein Post in der <code class="directive">ServerName</code>-Anweisung angegeben wurde, dann + verwendet der Server den Port der eingegangenen Anfrage. Für eine + optimale Zuverlässigkeit und Berechenbarkeit sollten Sie einen + eindeutigen Rechnernamen und Port angeben, in dem Sie die Direktive + <code class="directive">ServerName</code> verwenden.</p> + + <p>Wenn Sie <a href="../vhosts/name-based.html">namensbasierte + virtuelle Hosts</a> verwenden, gibt <code class="directive">ServerName</code> + innerhalb eines <code class="directive"><a href="#virtualhost"><VirtualHost></a></code>-Abschnitts an, welcher + Hostname im <code>Host:</code>-Header der Anfrage auftauchen muss, + damit sie diesem virtuellen Host zugeordnet wird.</p> + + <p>Lesen Sie bitte die Beschreibung der Direktive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> für Einstellungen, die + bestimmen, ob selbstreferenzierende URLs (z.B. vom Modul + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) auf den angegebenen Port zeigen oder auf die + Portnummern die in der Anfrage des Clients angegeben ist.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../dns-caveats.html">Probleme bezüglich DNS und +Apache</a></li> +<li><a href="../vhosts/">Apache-Dokumentation zu virtuellen + Hosts</a></li> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li> +<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a>-<a name="serverpath" id="serverpath">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Veralteter URL-Pfad für einen namensbasierten +virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen +wird</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerPath <var>URL-Pfad</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Virtual Host</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerPath</code> legt den + veralteten <span class="transnote">(<em>Anm.d.Ü.:</em> Gemeint ist eigentlich "Altlast" aufgrund + antiquierter Clients.)</span> URL-Pfad eines Hosts zur Verwendung mit + <a href="../vhosts/">namensbasierten virtuellen Hosts</a> fest.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../vhosts/">Apache-Dokumentation zu virtuellen + Hosts</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a>-<a name="serverroot" id="serverroot">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Basisverzeichnis der Serverinstallation</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerRoot <var>Verzeichnis</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerRoot</code> bestimmt das + Verzeichnis, in dem der Server installiert ist. Üblicherweise + enthält es die Unterverzeichnisse <code>conf/</code> und + <code>logs/</code>. Relative Pfadangaben anderer Direktiven (wie z.B. + <code class="directive"><a href="#include">Include</a></code> oder <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) werden relativ zu diesem + Verzeichnis betrachtet.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ServerRoot /home/httpd + </code></p></div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../invoking.html">Die <code>httpd</code>-Option + <code>-d</code></a></li> +<li><a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a> + für Informationen, wie die Rechte auf das <code class="directive">ServerRoot</code>-Verzeichnis richtig gesetzt werden</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a>-<a name="serversignature" id="serversignature">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Konfiguriert die Fußzeile von servergenerierten +Dokumenten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerSignature Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">ServerSignature</code> ermöglicht + die Gestaltung einer unter servergenerierten Dokumenten (z.B. + Fehlerdokumente, FTP-Verzeichnislisten von <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, + <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>-Ausgaben, ...) angefügten + Fußzeile. Ein möglicher Grund für die Aktivierung einer + solchen Fußzeile ist, dass der Anwender bei einer Kette von + Proxy-Servern oft keine Möglichkeit hat, zu erkennen, welcher der + verketteten Server gegenwärtig die zurückgegebene Fehlermeldung + produziert hat.</p> + + <p>Die (Vor-)Einstellung <code>Off</code> unterdrückt die + Fußzeile (und ist damit kompatibel zum Verhalten des Apache 1.2 und + früher). Die Einstellung <code>On</code> fügt schlicht eine + Zeile mit der Versionsnummer des Servers und dem Servernamen (<code class="directive"><a href="#servername">ServerName</a></code>) des bedienenden virtuellen Hosts an. + Die Einstellung <code>EMail</code> erstellt zusätzlich einen + "mailto:"-Verweis zum Serveradministrator (<code class="directive"><a href="#serveradmin">ServerAdmin</a></code>) des referenzierten Dokuments.</p> + + <p>Ab Version 2.0.44 werden die Details der angegebenen Versionsnummer des + Servers von der Direktive <code class="directive"><a href="#servertokens">ServerTokens</a></code> kontrolliert.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a>-<a name="servertokens" id="servertokens">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Konfiguriert den HTTP-Response-Header +<code>Server</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerTokens Full</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>die Direktive steuert, ob der Response-Header <code>Server</code>, + der an den Client zurückgesendet wird, eine Beschreibung des + allgemeinen Betriesbsystemtyps des Servers wie auch Informationen + über einkompilierte Module enthält.</p> + + <dl> + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: + Apache</code></dd> + + <dt><code>ServerTokens Major</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: + Apache/2</code></dd> + + <dt><code>ServerTokens Minor</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: + Apache/2.0</code></dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: + Apache/2.0.41</code></dd> + + <dt><code>ServerTokens OS</code></dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41 + (Unix)</code></dd> + + <dt><code>ServerTokens Full</code> (oder nicht angegeben)</dt> + + <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41 + (Unix) PHP/4.2.2 MyMod/1.2</code></dd> + </dl> + + <p>Diese Einstellung gilt für den gesamten Server und kann nicht + auf Virtual-Host-Basis aktiviert oder deaktiviert werden.</p> + + <p>Ab Version 2.0.44 steuert diese Direktive auch die Informationen, die + durch die Direktive <code class="directive"><a href="#serversignature">ServerSignature</a></code> + angeboten werden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a>-<a name="sethandler" id="sethandler">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Erzwingt die Verarbeitung aller passenden Dateien durch +einen Handler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetHandler <var>Handlername</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Seit Apache 2.0 im Core</td></tr> +</table> + <p>Wenn die Direktive innerhalb einer <code>.htaccess</code>-Datei + oder in einem <code class="directive"><a href="#directory"><Directory></a></code>- oder + <code class="directive"><a href="#location"><Location></a></code>-Abschnitt + angegeben wird, erzwingt sie, dass alle entsprechenden Dateien von dem + durch <var>Handlername</var> angegebenen <a href="../handler.html">Handler</a> analysiert werden. Wenn Sie + beispielsweise ein Verzeichnis haben, dessen Dateien unabhängig von + der Endung gänzlich als Image-Maps interpretiert werden sollen, + können Sie folgendes in eine <code>.htaccess</code>-Datei in + dem Verzeichnis schreiben:</p> + + <div class="example"><p><code> + SetHandler imap-file + </code></p></div> + + <p>Noch ein Beispiel: wenn Sie den Server immer, wenn die URL + <code>http://servername/status</code> aufgerufen wird, einen + Statusbericht anzeigen lassen möchten, dann können + Sie folgendes in die <code>httpd.conf</code> schreiben:</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + </span> + </Location> + </code></p></div> + <p>Sie können eine zuvor definierte + <code class="directive">SetHandler</code>-Anweisung aufheben, indem Sie den Wert + <code>None</code> verwenden.</p> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a>-<a name="setinputfilter" id="setinputfilter">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Filter, die Client-Anfragen und POST-Eingaben +verarbeiten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetInputFilter <var>Filter</var>[;<var>Filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">SetInputFilter</code> bestimmt den oder + die Filter, die Client-Anfragen und POST-Eingaben verarbeiten, wenn + sie vom Server empfangen werden. Diese gelten zusätzlich zu + anderweitig definierten Filtern, einschließlich denen der Direktive + <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p> + + <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese + durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden, + in der sie die Daten verarbeiten sollen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../filter.html">Filter</a>-Dokumentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a>-<a name="setoutputfilter" id="setoutputfilter">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Filter, die Antworten des Servers verarbeiten</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetOutputFilter <var>Filter</var>[;<var>Filter</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">SetOutputFilter</code> bestimmt + die Filter, die Antworten des Servers verarbeiten, bevor sie an den + Client gesendet werden. Diese gelten zusätzlich zu anderweitig + definierten Filtern, einschließlich denen der Direktive + <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p> + + <p>Die folgende Konfiguration verarbeitet zum Beispiel alle Dateien + im Verzeichnis <code>/www/data</code> als Server Side Includes.</p> + + <div class="example"><p><code> + <Directory /www/data/><br /> + <span class="indent"> + SetOutputFilter INCLUDES<br /> + </span> + </Directory> + </code></p></div> + + <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese + durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden, + in der sie die Daten verarbeiten sollen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../filter.html">Filter</a>-Dokumentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a>-<a name="timeout" id="timeout">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zeitspanne, die der Server auf verschiedene Ereignisse wartet, +bevor er die Anfrage abbricht</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TimeOut <var>Sekunden</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>TimeOut 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>Die Direktive <code class="directive">TimeOut</code> definiert derzeit die + Zeitspanne, die der Apache auf drei Dinge wartet:</p> + + <ol> + <li>Die gesamte Zeispanne, die benötigt wird, um eine GET-Anfrage + zu empfangen.</li> + + <li>Die Zeitspanne zwischen dem Empfang von TCP-Paketen einer + POST- oder PUT-Anfrage.</li> + + <li>Die Zeitspanne zwischen ACKs bei der Übermittlung der + TCP-Pakete der Antwort.</li> + </ol> + + <p>Wir haben vor, diese Zeitspannen in Zukunft separat konfigurierbar zu + machen. Vor Version 1.2 war der Zeitgeber auf 1200 voreingestellt, wurde + dann aber auf 300 herabgesetzt, was immer noch weit mehr ist, als in den + meisten Situationen benötigt wird. Die Voreinstellung wurde nicht + weiter herabgesetzt, da gelegentlich noch Stellen im Code existieren + können, wo der Zeitgeber nicht zurückgesetzt wird, wenn ein + Paket verschickt wird.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a>-<a name="traceenable" id="traceenable">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Legt das Serververhalten bei <code>TRACE</code>-Anfragen +fest</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>TraceEnable on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Seit den Versionen 1.3.34 und 2.0.55</td></tr> +</table> + <p>Diese Direktive überschreibt das Verhalten bei <code>TRACE</code> + sowohl für den Hauptserver als auch für + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Die Voreinstellung <code>TraceEnable on</code> + erlaubt <code>TRACE</code>-Anfragen gemäß RFC 2616, welcher + das Mitschicken von Request-Bodies verbietet. <code>TraceEnable off</code> + veranlasst den Hauptserver und <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, dem + Client mit dem Fehler <code>405</code> (Methode nicht erlaubt) + antworten.</p> + + <p>Mit Hilfe der nicht konformen Direktive <code>TraceEnable + extended</code> können Request-Bodies zugelassen werden. Das ist + allerdings ausschließlich für Test- und Diagnosezwecke gedacht. + Der Hauptserver (als Ursprungsserver) <span class="transnote">(<em>Anm.d.Ü.:</em> damit ist der + Normalbetrieb und nicht der Einsatz als Proxy-Server gemeint)</span> + limitiert den Request-Body auf 64K (plus 8K für die Chunk-Header, + wenn <code>Transfer-Encoding: chunked</code> verwendet wird) und + reflektiert den vollen Headersatz sowie alle Chunk-Header in seiner + Antwort. Im Betrieb als Proxyserver wird der Request-Body nicht auf + 64K begrenzt.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a>-<a name="usecanonicalname" id="usecanonicalname">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt, wie der Server seinen eigenen Namen und Port +ermittelt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>UseCanonicalName On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p>In vielen Situationen muss der Apache eine + <em>selbstreferenzierende</em> URL -- d.h. eine URL, die auf den selben + Server zurück verweist -- zusammenbauen. Bei <code>UseCanonicalName + On</code> verwendet der Apache den Hostnamen und Port, der in der + <code class="directive"><a href="#servername">ServerName</a></code>-Anweisung angegeben ist, + um den kanonischen Namen des Servers zu erstellen. Dieser Name wird in + allen selbstreferenzierenden URLs sowie in CGI-Skripten für die + Werte von <code>SERVER_NAME</code> und <code>SERVER_PORT</code> + verwendet.</p> + + <p>Bei <code>UseCanonicalName Off</code> bildet der Apache + selbstreferenzierende URLs, indem er den vom Client übermittelten + Hostnamen und Port verwendet, sofern diese vorhanden sind (andernfalls + wird der kanonische Name, wie oben beschrieben, benutzt). Die Werte + sind die gleichen, die zur Anwendung von <a href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a> + verwendet werden, und sie sind mit den gleichen Clients verfügbar + <span class="transnote">(<em>Anm.d.Ü.:</em> , die auch in der Lage sind, auf namensbasierte virtuelle Hosts + zuzugreifen, d.h. einen <code>Host</code>-Header mitschicken)</span>. + Die CGI-Variablen <code>SERVER_NAME</code> und <code>SERVER_PORT</code> + werden ebenfalls aus den vom Client angeboten Werten erstellt.</p> + + <p>Ein Intranet-Server, auf den Anwender mit kurzen Namen wie + <code>www</code> zugreifen, ist ein Beispiel, wo dies sinnvoll sein kann. + Sie werden bemerken, dass der Apache den Benutzer auf + <code>http://www.domain.com/splat/</code> umleitet, wenn dieser einen + Kurznamen und eine URL, die einem Verzeichnis entspricht, ohne + abschließenden Schrägstrich eingibt, wie z.B. + <code>http://www/splat</code>. Wenn Sie Authentisierung aktiviert haben, + bewirkt dies, dass der Benutzer sich zweimal identifizieren muss + (einmal für <code>www</code> und noch einmal für + <code>www.domain.com</code> -- lesen Sie für weitere Informationen <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">die + FAQ zu diesem Thema</a>). Wenn <code class="directive">UseCanonicalName</code> + jedoch auf <code>Off</code> gesetzt ist, denn wird der Apache zu + <code>http://www/splat/</code> umleiten.</p> + + <p>Es existiert noch eine dritte Option, <code>UseCanonicalName DNS</code>, + die für den Betrieb von IP-basierten Massen-Virtual-Hosts gedacht ist, + um antiquierte Clients zu unterstützen, die keinen + <code>Host:</code>-Header bereit stellen. Um selbstreferenzierende + URLs zu ermitteln, führt der Apache bei dieser Option ein + Reverse-DNS-Lookup auf die IP-Adresse des Servers aus, zu der der Client + Verbindung aufgenommen hat.</p> + + <div class="warning"><h3>Warnung</h3> + <p>Wenn CGI-Skripte Vermutungen aufgrund des Wertes von + <code>SERVER_NAME</code> anstellen, können sie durch diese + Option fehlschlagen. Clients steht es im Wesentlichen frei, einen Wert + für den Hostnamen anzugeben, wie er will. Wenn das + CGI-Skript <code>SERVER_NAME</code> jedoch lediglich dazu verwendet, + selbstreferenzierende URLs zu erstellen, sollte das gerade noch + in Ordnung sein.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a>-<a name="virtualhost" id="virtualhost">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Enthält Direktiven, die nur auf bestimmte Hostnamen oder +IP-Adressen angewendet werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><VirtualHost + <var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]] + ...> ... </VirtualHost></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><VirtualHost></code> und + <code></VirtualHost></code> werden dazu verwendet, eine Gruppe + von Direktiven zusammenzufassen, die nur auf einen bestimmten virtuellen + Host angewendet werden. Jede Direktive, die im Virtual-Host-Kontext + zulässig ist, kann verwendet werden. Wenn der Server eine Anfrage + für ein bestimmtes Dokument eines bestimmten virtuellen Hosts + empfängt, dann benutzt er die im + <code class="directive"><VirtualHost></code>-Container enthaltenen + Konfigurationsanweisungen. <var>Adresse</var> kann sein:</p> + + <ul> + <li>Die IP-Adresse des virtuellen Hosts.</li> + + <li>Ein voll qualifizierter Domainname für die IP-Adresse des + virtuellen Hosts.</li> + + <li>Das Zeichen <code>*</code>, welches nur in Kombination mit + <code>NameVirtualHost *</code> verwendet wird, um allen IP-Adressen + zu entsprechen.</li> + + <li>Die Zeichenkette <code>_default_</code>, die nur mit IP-basierten + virtuellen Hosts verwendet wird, um nicht zugewiesene IP-Adressen + aufzufangen.</li> + </ul> + + <div class="example"><h3>Beispiel</h3><p><code> + <VirtualHost 10.1.2.3><br /> + <span class="indent"> + ServerAdmin webmaster@host.foo.com<br /> + DocumentRoot /www/docs/host.foo.com<br /> + ServerName host.foo.com<br /> + ErrorLog logs/host.foo.com-error_log<br /> + TransferLog logs/host.foo.com-access_log<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>IPv6-Adressen müssen in eckigen Klammern angegeben werden, da die + optionale Portnummer sonst nicht erkannt werden kann. Hier ein + IPv6-Beispiel:</p> + + <div class="example"><p><code> + <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br /> + <span class="indent"> + ServerAdmin webmaster@host.example.com<br /> + DocumentRoot /www/docs/host.example.com<br /> + ServerName host.example.com<br /> + ErrorLog logs/host.example.com-error_log<br /> + TransferLog logs/host.example.com-access_log<br /> + </span> + </VirtualHost> + </code></p></div> + + <p>Jeder virtuelle Host muss einer anderen IP-Adresse, einem anderen Port + oder einem anderen Hostnamen für den Server entsprechen. Im ersten + Fall muss die Servermaschine so eingerichtet sein, dass sie IP-Pakete + für mehrere Adressen akzeptiert. (Wenn der Rechner nicht mehrere + Netzwerkkarten besitzt, kann dies mit dem Befehl <code>ifconfig + alias</code> durchgeführt werden -- sofern Ihr Betriebssystem das + unterstützt).</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Die Verwendung von <code class="directive"><VirtualHost></code> + beeinflusst <strong>nicht</strong>, an welchen Adressen der Apache + lauscht. Sie müssen mit <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> sicherstellen, dass der Apache + an der richtigen Adresse lauscht.</p> + </div> + + <p>Bei der Verwendung IP-basierter virtueller Hosts kann der spezielle + Name <code>_default_</code> benutzt werden. In diesem Fall weist + der Apache jede IP-Adresse diesem virtuellen Host zu, die nicht explizit in + einem anderen virtuellen Host angegeben ist. Falls kein virtueller Host + <code>_default_</code> angegeben ist, wird die "Hauptserver"-Konfiguration, + die aus allen Definitionen außerhalb der Virtual-Host-Abschnitte + besteht, für nicht passende IPs verwendet. (Beachten Sie jedoch, + dass eine IP-Adresse die zu einer <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code>-Anweisung passt, weder den + "Hauptserver" noch den virtuellen Host <code>_default_</code> verwendet. + Lesen Sie für weitere Details die Dokumentation zu <a href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>.)</p> + + <p>Sie können einen speziellen <code>:Port</code> angeben, + um den entsprechenden Port zu wechseln. Falls nicht angegeben, wird + er auf den gleichen Port voreingestellt, wie die letzte + <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>-Anweisung des + Hauptservers. Sie können auch <code>:*</code> angeben, um alle + Ports dieser Adresse zu akzeptieren. (Dies wird zusammen mit + <code>_default_</code> empfohlen.)</p> + + <div class="warning"><h3>Sicherheit</h3> + <p>Lesen Sie das Dokument <a href="../misc/security_tips.html">Sicherheitshinweise</a> für + Details, warum Ihre Sicherheit gefährdet sein kann, wenn das + Verzeichnis, in dem Protokolldateien gespeichert werden, für + jemanden anderes als den Benutzer beschreibbar ist, der den Server + gestartet hat.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../vhosts/">Apache-Dokumentation zu virtuellen + Hosts</a></li> +<li><a href="../dns-caveats.html">Probleme bezüglich DNS und + Apache</a></li> +<li><a href="../bind.html">Bestimmen, welche Adressen und Ports + der Apache verwendet</a></li> +<li><a href="../sections.html">Wie die Abschnitte <Directory>, + <Location> und <Files> arbeiten</a> für eine + Erläuterung, wie diese verschiedenen Abschnitte miteinander + kombiniert werden, wenn eine Anfrage empfangen wird</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div> +</body></html>
\ No newline at end of file |