blob: efd531a9d3a905a1e9d38932fc7a79610f6e667c [file] [log] [blame]
<?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>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<meta content="noindex, nofollow" name="robots" />
<!--
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" /><link href="http://httpd.apache.org/docs/current/mod/core.html" rel="canonical" /></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="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP-Server</a> &gt; <a href="http://httpd.apache.org/docs/">Dokumentation</a> &gt; <a href="../">Version 2.0</a> &gt; <a href="./">Module</a></div>
<div id="page-content">
<div class="retired"><h4>Bitte beachten!</h4>
<p>Dieses Dokument bezieht sich auf Version <strong>2.0</strong> des Apache httpd, die <strong>nicht mehr gepflegt wird</strong>. Bitte aktualisieren Sie die Software und verwenden Sie stattdessen eine aktuelle Version des httpd, die an folgender Stelle dokumentiert ist:</p>
<ul><li><a href="http://httpd.apache.org/docs/current/">Dokumentation des Apache HTTP Server f&#252;r die zuletzt erschienene Version</a></li></ul><p>Sie k&#246;nnen <a href="http://httpd.apache.org/docs/current/mod/core.html">diesem Link</a> folgen, um zur aktuellen Version dieses Dokuments zu gelangen.</p></div><div id="preamble"><h1>Apache-Kernfunktionen</h1>
<div class="toplang">
<p><span>Verf&#252;gbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Diese &#220;bersetzung ist m&#246;glicherweise
nicht mehr aktuell. Bitte pr&#252;fen Sie die englische Version auf
die neuesten &#196;nderungen.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>St&#228;ndig verf&#252;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">&lt;Directory&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch">&lt;DirectoryMatch&gt;</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">&lt;Files&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch">&lt;FilesMatch&gt;</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">&lt;IfDefine&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule">&lt;IfModule&gt;</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">&lt;Limit&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept">&lt;LimitExcept&gt;</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">&lt;Location&gt;</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch">&lt;LocationMatch&gt;</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="#maxranges">MaxRanges</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">&lt;VirtualHost&gt;</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&#228;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&#228;t:</a></th><td>Verf&#252;gbar ab Apache 2.0.30</td></tr>
</table>
<p>Die Direktive steuert, ob Anfragen akzeptiert oder
abgewiesen werden, bei denen nach der tats&#228;chlichen
Datei (oder einer nicht existierenden Datei in einem existierenden
Verzeichnis) zus&#228;tzliche Pfadangaben folgen. Die angeh&#228;ngte
Pfadangabe kann Skripten in der Umgebungsvariable <code>PATH_INFO</code>
verf&#252;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&#228;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&#246;glichen Argumente f&#252;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&#252;rde eine Anfrage mit einer nach dem
tats&#228;chlichen Dateinamen angeh&#228;ngten Pfadangabe, wie
<code>/test/here.html/more</code> im obigen Beispiel, den Fehler
404 NOT FOUND <span class="transnote">(<em>Anm.d.&#220;.:</em> nicht gefunden)</span>
zur&#252;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&#252;ltige Datei
zeigt.</dd>
<dt><code>Default</code></dt>
<dd>Die Behandlung von Anfragen mit angeh&#228;ngten Pfadangaben
wird von dem f&#252;r die Anfrage verantwortlichen <a href="../handler.html">Handler</a> bestimmt. Der Core-Handler
f&#252;r gew&#246;hnliche Dateien weist <code>PATH_INFO</code>-Zugriffe
standardm&#228;&#223;ig zur&#252;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 &#220;berschreiben der Voreinstellung der Handler bez&#252;glich
der Akzeptanz oder Ablehnung von <code>PATH_INFO</code> zu erlauben.
Eine solche &#196;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&#228;ngig von <code>PATH_INFO</code> zu generieren. Der
Core-Handler w&#252;rde die Anfrage normalerweise abweisen. Verwenden
Sie die folgende Konfiguration, um dennoch solch ein Skript zu
erm&#246;glichen.</p>
<div class="example"><p><code>
&lt;Files "mypaths.shtml"&gt;<br />
<span class="indent">
Options +Includes<br />
SetOutputFilter INCLUDES<br />
AcceptPathInfo On<br />
</span>
&lt;/Files&gt;
</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&#228;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&#252;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>
&lt;Directory /&gt;<br />
<span class="indent">
AllowOverride None<br />
</span>
&lt;/Directory&gt;
</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&#252;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&#252;r den Charset-Paramter des
Medientyps (den Namen einer Zeichencodierung) an, der einer Antwort
genau dann hinzugef&#252;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 &#252;berschreiben. Das genaue Verhalten h&#228;ngt jedoch oft von
der Client-Konfiguration des Benutzers ab. Die Einstellung
<code>AddDefaultCharset Off</code> deaktiviert diese Funktionalit&#228;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&#223;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&#252;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&#252;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 &#252;bermittelt
wurden, gegen Cross-Site-Scripting-Angriffe verwundbar sind. Eine bessere
L&#246;sung w&#228;re jedoch, diese Skripte zu korrigieren (oder zu
l&#246;schen), da die Angabe einer Standard-Zeichencodierung keine
Anwender sch&#252;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&#228;t:</a></th><td>Verf&#252;gbar ab Apache 2.0.33</td></tr>
</table>
<p>Die Direktive aktiviert f&#252;r eine Anfrage abh&#228;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&#252;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&#252;ssen deren Namen durch Semikolons voneinander
getrennt werden. Es ist ebenfalls m&#246;glich, eine
<code class="directive">AddOutputFilterByType</code>-Direktive f&#252;r
jeden von diesen Filtern zu verwenden.</p>
<p>Die folgende Konfiguration sorgt daf&#252;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>
&lt;Location /cgi-bin/&gt;<br />
<span class="indent">
Options Includes<br />
AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
</span>
&lt;/Location&gt;
</code></p></div>
<div class="warning"><h3>Hinweis:</h3>
<p>Die Aktivierung von Filtern mittels
<code class="directive">AddOutputFilterByType</code> kann in einigen
F&#228;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&#252;ckf&#228;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&#228;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&#252;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&#228;t:</a></th><td>Verf&#252;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&#252;r <code>/</code> und auf entsprechenden Systemen zus&#228;tzlich
<code>%5C</code> f&#252;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&#228;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&#228;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&#252;here Konfigurationsanweisungen &#252;berschreiben
d&#252;rfen.</p>
<div class="note"><h3>Nun in &lt;Directory&gt;-Abschnitten verf&#252;gbar</h3>
<code class="directive">AllowOverride</code> ist nur in <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>-Abschnitten
g&#252;ltig, die ohne regul&#228;re Ausdr&#252;ke definiert wurden, nicht
in <code class="directive"><a href="#location">&lt;Location&gt;</a></code>-,
<code class="directive"><a href="#directorymatch">&lt;DirectoryMatch&gt;</a></code>- oder
<code class="directive"><a href="#files">&lt;Files&gt;</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.&#220;.:</em> (Server-interner Fehler))</span>, die weder der
Gruppe <code>AuthConfig</code> noch der Gruppe <code>Indexes</code>
angeh&#246;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.&#220;.:</em> Der Autorisierungsbereich wird auch Realm genannt.)</span>
f&#252;r ein Verzeichnis fest. Dieser Realm wird dem Client mitgeteilt,
damit der Anwender wei&#223;, welchen Benutzernamen und welches Passwort
er zu &#252;bermitteln hat. <code class="directive">AuthName</code> akzeptiert ein
Argument. Falls der Name des Realm Leerzeichen enth&#228;lt, muss er in
Anf&#252;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> &#252;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&#228;hlt die Art der Benutzer-Authentisierung
f&#252;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&#252;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&#228;t:</a></th><td>ausschlie&#223;lich NetWare</td></tr>
</table>
<p>Die Direktive wird zur Steuerung verwendet, wie Apache
den Interpreter ermittelt, der zur Ausf&#252;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 &#252;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.&#220;.:</em> Der "Datenextrakt" wird im
Englischen als "message digest" oder "fingerprint" bezeichnet.)</span>
aus beliebig langen Daten. Es gilt als zuverl&#228;ssig, dass
Ver&#228;nderungen an den Daten sich in Ver&#228;nderungen des
Extrakts wiederspiegeln.</p>
<p>Der <code>Content-MD5</code>-Header bietet eine
End-to-End-Integrit&#228;tspr&#252;fung (MIC) <span class="transnote">(<em>Anm.d.&#220;.:</em> MIC steht f&#252;r
"message integrity check".)</span> des Daten-Inhalts. Ein Proxy oder
Client kann diesen Header pr&#252;fen, um zuf&#228;llige Ver&#228;nderungen
des Entity-Inhalts bei der &#220;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&#252;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 &#252;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&#228;re angemessen f&#252;r ein Verzeichnis, das viele GIF-Bilder
enth&#228;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&#223;lich
Dateierweiterungen, die den Medien-Typ anzeigen k&#246;nnen,
&#252;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">&lt;Directory&gt;</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&#223;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>&lt;Directory <var>Verzeichnispfad</var>&gt;
... &lt;/Directory&gt;</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">&lt;Directory&gt;</code> und
<code>&lt;/Directory&gt;</code> werden dazu verwendet, eine Gruppe
von Direktiven zusammenzufassen, die nur f&#252;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&#228;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.&#220;.:</em> sogenannte wild-cards)</span> entspricht
<code>?</code> einem einzelnen Zeichen und <code>*</code> einer
Zeichenkette beliebiger L&#228;nge. Sie k&#246;nnen auch auch
<code>[]</code>-Zeichenbereiche verwenden. Keiner der Platzhalter
entspricht dem Zeichen "/". Daher passt <code>&lt;Directory
/*/public_html&gt;</code> nicht auf <code>/home/user/public_html</code>,
<code>&lt;Directory /home/*/public_html&gt;</code> jedoch tut es.
Beispiel:</p>
<div class="example"><p><code>
&lt;Directory /usr/local/httpd/htdocs&gt;<br />
<span class="indent">
Options Indexes FollowSymLinks<br />
</span>
&lt;/Directory&gt;
</code></p></div>
<div class="note">
<p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten.
Sie m&#252;ssen buchst&#228;blich mit dem Dateisystempfad
&#252;bereinstimmen, den der Apache f&#252;r den Zugriff auf die
Dateien verwendet. Direktiven, die f&#252;r ein bestimmtes
Verzeichnis gelten, gelten nicht f&#252;r Dateien in dem Verzeichnis,
auf die &#252;ber einen anderen Pfad zugegriffen wird, wie z.B.
&#252;ber verschiedene symbolische Links.</p>
</div>
<p>Erweiterte regul&#228;re Ausdr&#252;cke k&#246;nnen ebenfalls
verwendet werden, indem das Zeichen <code>~</code> hinzugef&#252;gt
wird. Beispielsweise w&#252;rde</p>
<div class="example"><p><code>
&lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
</code></p></div>
<p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei
Zahlen bestehen.</p>
<p>Wenn mehrere <code class="directive">&lt;Directory&gt;</code>-Abschnitte
(ohne regul&#228;re Ausdr&#252;cke) auf ein Verzeichnis (oder
ein ihm &#252;bergeordnetes Verzeichnis) passen, welches ein Dokument
enth&#228;lt, dann werden die Direktiven der Reihe nach, angefangen
beim k&#252;rzesten passenden Muster, vermischt mit den Direktiven
aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet.
Beispiel:</p>
<div class="example"><p><code>
&lt;Directory /&gt;<br />
<span class="indent">
AllowOverride None<br />
</span>
&lt;/Directory&gt;<br />
<br />
&lt;Directory /home/&gt;<br />
<span class="indent">
AllowOverride FileInfo<br />
</span>
&lt;/Directory&gt;
</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&#228;re Ausdr&#252;cke werden solange nicht ber&#252;cksichtigt,
bis alle normalen Abschnitte angewendet wurden. Anschlie&#223;end
werden alle regul&#228;ren Ausdr&#252;cke in der Reihenfolge
gepr&#252;ft, in der sie in der Konfigurationsdatei auftauchen.
Beispielsweise wird bei</p>
<div class="example"><p><code>
&lt;Directory ~ abc$&gt;<br />
<span class="indent">
# ... hier die Direktiven ...<br />
</span>
&lt;/Directory&gt;
</code></p></div>
<p>der Abschnitt mit dem regul&#228;ren Ausdruck nicht
ber&#252;cksichtigt, bis alle normalen
<code class="directive">&lt;Directory&gt;</code>-Abschnitte und
<code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird
der regul&#228;re Ausdruck mit <code>/home/abc/public_html/abc</code>
abgeglichen und der entsprechende <code class="directive">&lt;Directory&gt;</code>-Abschnitt angewendet.</p>
<p><strong>Beachten Sie bitte, dass der vom Apache voreingestellte
Zugriff f&#252;r <code>&lt;Directory /&gt;</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>
&lt;Directory /&gt;<br />
<span class="indent">
Order Deny,Allow<br />
Deny from All<br />
</span>
&lt;/Directory&gt;
</code></p></div>
<p><strong>&#228;ndern und anschlie&#223;end f&#252;r
Verzeichnisse &#252;berschreiben, die Sie verf&#252;gbar machen
<em>wollen</em>. F&#252;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">&lt;Directory&gt;</code>-Direktiven d&#252;rfen nicht
ineinander verschachtelt werden oder innerhalb von <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>- oder <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code>-Abschnitten auftauchen.</p>
<h3>Siehe auch</h3>
<ul>
<li><a href="../sections.html">Wie die Abschnitte &lt;Directory&gt;,
&lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&#252;r eine
Erl&#228;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">&lt;DirectoryMatch&gt;</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&#223;t eine Gruppe von Direktiven, die auf
Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet
werden, welche auf einen regul&#228;ren Ausdruck passen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;DirectoryMatch <var>regex</var>&gt;
... &lt;/DirectoryMatch&gt;</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">&lt;DirectoryMatch&gt;</code> und
<code>&lt;/DirectoryMatch&gt;</code> werden dazu verwendet, eine
Gruppe von Direktiven zusammenzufassen, die nur f&#252;r das
genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso
wie bei <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>.
Als Argument dient jedoch ein regul&#228;rer Ausdruck.
Beispielsweise w&#252;rde</p>
<div class="example"><p><code>
&lt;DirectoryMatch "^/www/(.+/)?[0-9]{3}"&gt;
</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">&lt;Directory&gt;</a></code>
f&#252;r eine Beschreibung, wie regul&#228;re Ausdr&#252;cke mit
normalen <code class="directive">&lt;Directory&gt;</code>-Anweisungen
vermischt werden.</li>
<li><a href="../sections.html">Wie die Abschnitte &lt;Directory&gt;,
&lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&#252;r eine
Erl&#228;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&#228;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&#228;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&#228;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&#228;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&#228;&#223;ig
Memory-Mapping f&#252;r diese Datei, sofern das Betriebssystem es
unterst&#252;tzt.</p>
<p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung.
In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu
deaktivieren, um Problemen w&#228;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.&#220;.:</em> ein so genannter "segmentation
fault")</span> abst&#252;rzen, wenn eine Datei gel&#246;scht oder
gek&#252;rzt wird, w&#228;hrend <code class="program"><a href="../programs/httpd.html">httpd</a></code> sie im Speicher
abbildet.</li>
</ul>
<p>Bei Serverkonfigurationen, die f&#252;r dieses Problem
anf&#228;llig sind, sollten Sie das Memory-Mapping f&#252;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&#252;r die st&#246;renden Dateien deaktiviert werden,
indem Sie angeben:</p>
<div class="example"><p><code>
&lt;Directory "/pfad-zu-den-nfs-dateien"&gt;
<span class="indent">
EnableMMAP Off
</span>
&lt;/Directory&gt;
</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&#252;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&#228;t:</a></th><td>Verf&#252;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&#252;tzung des Kernels verwenden kann, um
Dateiinhalte an den Client zu &#252;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&#252;tzt, verwendet der Apache
standardm&#228;&#223;ig sendfile, um den Dateiinhalt zu
&#252;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&#228;hrend des Betriebs zu vermeiden:</p>
<ul>
<li>Einige Plattformen besitzen u.U. eine fehlerhafte
sendfile-Unterst&#252;tzung, die das Erstellungssystem nicht erkennt,
insbesondere wenn die Bin&#228;rdateien auf einem anderen Rechner erstellt
und auf eine solche Maschine mit fehlerhafter sendfile-Unterst&#252;tzung
&#252;bertragen wurden.</li>
<li>Bei einem &#252;ber das Netzwerk eingebundenen <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (z.B. NFS oder SMB) ist der
Kernel m&#246;glicherweise nicht in der Lage, die Netzwerkdatei
&#252;ber seinen eigenen Cache zu bedienen.</li>
<li>Unter Linux l&#246;st die Verwendung von <code>sendfile</code>
in Verbindung mit bestimmten Netzwerkkarten und IPv6
TCP-Checksummenfehler aus.</li>
</ul>
<p>Bei Serverkonfigurationen, die f&#252;r dieses Problam
anf&#228;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&#252;r die st&#246;renden Dateien deaktiviert werden, indem
Sie angeben:</p>
<div class="example"><p><code>
&lt;Directory "/pfad-zu-den-nfs-dateien"&gt;
<span class="indent">
EnableSendfile Off
</span>
&lt;/Directory&gt;
</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&#252;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&#228;t:</a></th><td>Die Syntax der Anf&#252;hrungszeichen bei Textnachrichten hat
sich im Apache 2.0 ge&#228;ndert</td></tr>
</table>
<p>Im Falle eines Problems oder Fehlers kann der Apache
konfiguriert werden, eine der vier Aktionen auszuf&#252;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&#228;hrend die Optionen
2 bis 4 &#252;ber die Direktive <code class="directive">ErrorDocument</code>
eingestellt werden, welcher der HTTP-Statuscode und eine
URL oder Nachricht folgen. Abh&#228;ngig vom Problem bzw. Fehler bietet
der Apache manchmal zus&#228;tzliche Informationen an.</p>
<p>URLs k&#246;nnen bei lokalen Webpfaden mit einem Schr&#228;gstrich
(/) beginnen (relativ zum <code class="directive"><a href="#documentroot">DocumentRoot</a></code>-Verzeichnis) oder eine vollst&#228;ndige URL
bilden, die der Client aufl&#246;sen kann. Alternativ kann eine
Nachricht f&#252;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&#223;erdem kann auch der Spezialwert <code>default</code> verwendet
werden, um die schlichte, im Apache hartkodierte Nachricht anzugeben.
W&#228;hrend es normalerweise nicht ben&#246;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 &#252;bernommen
w&#252;rde.</p>
<div class="example"><p><code>
ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
&lt;Directory /web/docs&gt;<br />
<span class="indent">
ErrorDocument 404 default<br />
</span>
&lt;/Directory&gt;
</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&#252;hrt. Das hat mehrere Auswirkungen. Die
wichtigste ist, dass der Client nicht den Original-Statuscode
erh&#228;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&#252;ltig ist.
Wenn Sie eine entfernte URL in einer Anweisung
<code>ErrorDocument 401</code> verwenden, wird der Client
dar&#252;ber hinaus nicht wissen, dass er den Benutzer zur Eingabe
eines Passwortes auffordern muss, da er den Statuscode 401 nicht
erh&#228;lt. <strong>Deshalb m&#252;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&#228;&#223;ig serverseitig generierte Fehlermeldungen, wenn
sie "zu kurz" sind und ersetzt sie durch eigene "freundliche"
Fehlermeldungen. Die Gr&#246;&#223;e variiert abh&#228;ngig von der
Art des Fehlers, im Allgemeinen zeigt der MSIE jedoch den
serverseitig generierten Fehler, anstatt ihn zu verstecken, wenn Ihr
Fehlerdokument gr&#246;&#223;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&#252;gbar.</p>
<p>Obwohl die meisten Fehlermeldungen &#252;berschrieben werden
k&#246;nnen, werden unter bestimmten Umst&#228;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&#252;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&#252;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&#252;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&#252;tzt. Als Voreinstellung wird der syslog-Typ (syslog
facility) <code>local7</code> verwendet, Sie k&#246;nnen dies jedoch
auch &#252;berschreiben, indem Sie die Syntax
<code>syslog:<var>facility</var></code> verwenden, wobei
<var>facility</var> einer der Namen sein kann, die &#252;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&#252;ber, warum Ihre Sicherheit gef&#228;hrdet
sein kann, wenn das Verzeichnis, in dem die Log-Dateien gespeichert
werden, f&#252;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&#228;rts-)Schr&#228;gstriche zu
verwenden, auch wenn die Plattform r&#252;ckw&#228;rts gerichtete
Schr&#228;gstriche (Backslashes) erlaubt. Im Allgemeinen ist es eine gute
Idee, innerhalb der Konfigurationsdateien immer
Vorw&#228;rts-Schr&#228;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&#252;her wurde der <code>ETag</code>-Wert <em>stets</em> aus
der I-Node, der Gr&#246;&#223;e und dem Datum der letzten
&#196;nderung (mtime) der Datei gebildet. Die Direktive
<code class="directive">FileETag</code> erlaubt es Ihnen, zu bestimmen,
welche dieser Eigenschaften -- falls &#252;berhaupt -- verwendet
werden sollen. Die g&#252;ltigen Schl&#252;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 &#196;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&#252;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&#252;gt,
wenn dem Dokument eine Datei zugrundeliegt.</dd>
</dl>
<p>Den Schl&#252;sselw&#246;rtern <code>INode</code>, <code>MTime</code>
und <code>Size</code> kann entweder ein <code>+</code> oder ein
<code>-</code> vorangestellt werden, was die &#196;nderung einer
Vorgabe erlaubt, die von einem gr&#246;&#223;eren Umfeld
geerbt wurde. Jedes Schl&#252;selwort ohne ein solches Pr&#228;fix
hebt die ererbte Einstellung sofort und vollst&#228;ndig auf.</p>
<p>Wenn die Konfiguration f&#252;r ein Verzeichnis
<code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code> enth&#228;lt
und die eines Unterverzeichnisses <code>FileETag&nbsp;-INode</code>,
dann ist die Einstellung f&#252;r das Unterverzeichnis (die an
jedes Unter-Unterverzeichnis weitervererbt wird, welches dies nicht
&#252;berschreibt) &#228;quivalent mit
<code>FileETag&nbsp;MTime&nbsp;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">&lt;Files&gt;</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&#228;lt Direktiven, die sich nur auf passende Dateinamen
beziehen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Files <var>Dateiname</var>&gt; ... &lt;/Files&gt;</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">&lt;Files&gt;</code>
begrenzt die Reichweite der enthaltenen Anweisungen auf Dateinamen.
Sie ist vergleichbar mit den Direktiven <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> und <code class="directive"><a href="#location">&lt;Location&gt;</a></code>. Sie muss eine
passende <code>&lt;/Files&gt;</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">&lt;Files&gt;</code>-Container werden, nachdem die
<code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>-Container
und <code>.htaccess</code>-Dateien gelesen sind, jedoch vor den
<code class="directive"><a href="#location">&lt;Location&gt;</a></code>-Containern,
in der Reihenfolge ihres Auftretens ausgef&#252;hrt. Beachten Sie, dass
<code class="directive">&lt;Files&gt;</code>-Anweisungen innerhalb von
<code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>-Containern
auftreten k&#246;nnen, um den Teil des Dateisystems einzuschr&#228;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&#228;re Ausdr&#252;cke k&#246;nnen ebenfalls
verwendet werden, indem das Zeichen <code>~</code> hinzugef&#252;gt wird.
Beispielsweise w&#252;rde</p>
<div class="example"><p><code>
&lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
</code></p></div>
<p>auf die gebr&#228;uchlichsten Grafikformate im Internet passen.
<code class="directive"><a href="#filesmatch">&lt;FilesMatch&gt;</a></code> wird
jedoch bevorzugt.</p>
<p>Beachten Sie bitte, dass die <code class="directive">&lt;Files&gt;</code>-Container anders als <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>- und <code class="directive"><a href="#location">&lt;Location&gt;</a></code>-Container innerhalb
von <code>.htaccess</code>-Dateien verwendet werden k&#246;nnen.
Dies erlaubt den Anwendern auf Dateiebene die Kontrolle &#252;ber ihre
eigenen Dateien.</p>
<h3>Siehe auch</h3>
<ul>
<li><a href="../sections.html">Wie die Abschnitte &lt;Directory&gt;,
&lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&#252;r eine
Erl&#228;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">&lt;FilesMatch&gt;</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&#228;lt Direktiven, die f&#252;r Dateinamen gelten, die
auf einen regul&#228;ren Ausdruck passen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;FilesMatch <var>regex</var>&gt; ... &lt;/FilesMatch&gt;</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">&lt;FilesMatch&gt;</code>
begrenzt wie die Direktive <code class="directive"><a href="#files">&lt;Files&gt;</a></code> die enthaltenen Anweisungen auf
Dateinamen. Sie akzeptiert jedoch regul&#228;re Ausdr&#252;cke.
Beispielsweise w&#252;rde</p>
<div class="example"><p><code>
&lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
</code></p></div>
<p>auf die gebr&#228;uchlichsten Grafikformate im Internet passen.</p>
<h3>Siehe auch</h3>
<ul>
<li><a href="../sections.html">Wie die Abschnitte &lt;Directory&gt;,
&lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&#252;r eine
Erl&#228;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&#228;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">&lt;Directory&gt;</a></code>-,
<code class="directive"><a href="#location">&lt;Location&gt;</a></code>-
<code class="directive"><a href="#files">&lt;Files&gt;</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&#246;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
&#252;berschreibt, einschlie&#223;lich Dateiendungen, die einen
Medientyp bezeichnen k&#246;nnten.</p>
<p>Sie k&#246;nnen jede <code class="directive">ForceType</code>-Angabe
durch die Verwendung des Wertes <code>None</code> &#252;berschreiben:</p>
<div class="example"><p><code>
# erzwinge image/gif f&#252;r alle Dateien:<br />
&lt;Location /images&gt;<br />
<span class="indent">
ForceType image/gif<br />
</span>
&lt;/Location&gt;<br />
<br />
# hier jedoch normale MIME-Type-Zuordnungen:<br />
&lt;Location /images/mixed&gt;<br />
<span class="indent">
ForceType None<br />
</span>
&lt;/Location&gt;
</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.&#220;.:</em> ein sogenannter
DNS-Lookup)</span>, so dass Hostnamen protokolliert (und in
<code>REMOTE_HOST</code> an CGIs/SSIs &#252;bergeben) werden k&#246;nnnen.
Der Wert <code>Double</code> bezieht sich auf ein
Double-Reverse-DNS-Lookup. D.h. nachdem ein Reverse-Lookup
durchgef&#252;hrt wurde, wird dann auf dem Ergebnis ein
Forward-Lookup ausgef&#252;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&#228;ngig von der Einstellung wird ein Double-Reverse-Lookup
durchgef&#252;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&#252;nden
notwendig. Beachten Sie, dass das Ergebnis dieses
Double-Reverse-Lookups nicht generell verf&#252;gbar ist, solange Sie
nicht <code>HostnameLookups Double</code> setzen. Wenn beispielsweise
nur <code>HostnameLookups On</code> angegeben ist und eine Anfrage
f&#252;r ein Objekt erfolgt, welches durch Hostnamen-Beschr&#228;nkungen
gesch&#252;tzt ist, dann wird CGIs nur das Ergebnis des
Singel-Reverse-Lookups in <code>REMOTE_HOST</code> &#252;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&#228;chlich Reverse-Lookups
ben&#246;tigen. Es ist auch f&#252;r die Endanwender besser, da sie nicht
die zus&#228;tzliche Wartezeit ertragen m&#252;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&#228;&#223;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&#246;glicht die Protokollierung der Identit&#228;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&#246;glicht die RFC1413-konforme Protokollierung des
entfernten Benutzernamens f&#252;r jede Verbindung, bei der auf der
Client-Maschine identd oder etwas &#228;hnliches l&#228;uft. Die
Information wird im Zugriffsprotokoll festgehalten.</p>
<p>Der Information sollte au&#223;er f&#252;r eine rudiment&#228;re
Benutzerverfolgung in keinster Weise vertraut werden.</p>
<p>Beachten Sie bitte, dass dies betr&#228;chtliche Zeitprobleme
beim Zugriff auf Ihren Server verursachen kann, da f&#252;r jede Anfrage
eine solche R&#252;ckfrage durchgef&#252;hrt werden muss. Wenn
Firewalls beteiligt sind, kann unter Umst&#228;nden jede R&#252;ckfrage
fehlschlagen und weitere 30 Sekunden Wartezeit zu jedem Hit
zuf&#252;gen. Daher ist dies im Allgemeinen bei &#246;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">&lt;IfDefine&gt;</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&#223;t Direktiven ein, die nur ausgef&#252;hrt werden,
wenn eine Testbedingung beim Start wahr ist</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;IfDefine [!]<var>Parametername</var>&gt; ...
&lt;/IfDefine&gt;</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>&lt;IfDefine <var>Test</var>&gt;...&lt;/IfDefine&gt;
</code> wird dazu verwendet, Direktiven als bedingt zu kennzeichnen.
Die Direktiven innerhalb eines <code class="directive">&lt;IfDefine&gt;</code>-Abschnittes werden nur ausgef&#252;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">&lt;IfDefine&gt;</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&#252;hrt, wenn der Parameter namens
<var>Parametername</var> definiert ist. Die zweite Form kehrt den
Test um und f&#252;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">&lt;IfDefine&gt;</code>-Container k&#246;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 />
&lt;IfDefine ReverseProxy&gt;<br />
<span class="indent">
LoadModule rewrite_module modules/mod_rewrite.so<br />
LoadModule proxy_module modules/libproxy.so<br />
</span>
&lt;/IfDefine&gt;
</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">&lt;IfModule&gt;</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&#223;t Direktiven ein, die abh&#228;ngig vom
Vorhandensein oder Fehlen eines speziellen Moduls ausgef&#252;hrt
werden</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;IfModule [!]<var>Modulname</var>&gt; ...
&lt;/IfModule&gt;</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>&lt;IfModule
<var>Test</var>&gt;...&lt;/IfModule&gt;</code> wird dazu verwendet,
Direktiven als abh&#228;ngig von dem Vorhandensein eines speziellen
Moduls zu kennzeichnen. Die Direktiven innerhalb eines <code class="directive">&lt;IfModule&gt;</code>-Abschnitts werden nur
ausgef&#252;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">&lt;IfModule&gt;</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&#252;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&#252;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&#228;lt.</p>
<p><code class="directive">&lt;IfModule&gt;</code>-Container k&#246;nnen
inneinander verschachtelt werden, um einfache Multi-Modul-Tests
durchzuf&#252;hren.</p>
<p>Dieser Container sollte verwendet werden, wenn Sie eine
Konfigurationsdatei ben&#246;tigen, die unabh&#228;ngig davon funktioniert,
ob ein bestimmtes Modul verf&#252;gbar ist oder nicht. Normalerweise
ist es nicht notwendig, Direktiven in <code class="directive">&lt;IfModule&gt;</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&#252;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&#228;t:</a></th><td>Die Platzhalter-Suche ist verf&#252;gbar seit
2.0.41</td></tr>
</table>
<p>Die Direktive erlaubt das Einf&#252;gen anderer Konfigurationsdateien
in die Konfigurationsdatei des Servers.</p>
<p>Shell-typische (<code>fnmatch()</code>) Platzhlaterzeichen k&#246;nnen
dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer
Reihenfolge einzuf&#252;gen. Wenn <code class="directive">Include</code>
dar&#252;ber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt,
liest der Apache alle Dateien in diesem Verzeichnis und allen
Unterverzeichnissen ein. Das Einf&#252;gen ganzer Verzeichnisse ist
jedoch nicht empfehlenswert, da tempor&#228;re Dateien sehr leicht
versehentlich in einem Verzeichnis zur&#252;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&#228;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&#228;t persistenter Verbindungen unterst&#252;tzt
langlebige HTTP-Sitzungen, die es erlauben, mehrere Anfragen &#252;ber
die gleich TCP-Verbindung zu senden. In einigen F&#228;llen wurde eine
Beschleunigung der Wartezeiten von beinahe 50% f&#252;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&#246;nnen
Keep-Alive-Verbindungen bei einem HTTP/1.0-Client nur dann verwendet
werden, wenn die L&#228;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&#228;nge
&#252;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&#228;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&#223;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&#252;hren. Je h&#246;her die Auszeit angegeben ist, desto l&#228;nger
ist der Apache damit besch&#228;ftigt, auf unt&#228;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">&lt;Limit&gt;</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&#228;nkt die eingeschlossenen Zugriffskontrollen auf
bestimmte HTTP-Methoden</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;Limit <var>Methode</var> [<var>Methode</var>] ... &gt; ...
&lt;/Limit&gt;</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&#252;r <strong>alle</strong>
Zugriffsmethoden, was normalerweise auch das gew&#252;nschte Verhalten ist.
<strong>Im Allgemeinen sollten Zugriffskontrollen nicht in einen
<code class="directive">&lt;Limit&gt;</code>-Container gepackt
werden.</strong></p>
<p>Der Sinn der Direktive <code class="directive">&lt;Limit&gt;</code>
ist es, den Effekt der Zugriffskontrollen auf die angegebenen
HTTP-Methoden zu beschr&#228;nken. Bei allen anderen Methoden haben
die in der <code class="directive">&lt;Limit&gt;</code>-Gruppe
enthaltenen Zugriffsbeschr&#228;nkungen <strong>keine Wirkung</strong>.
Im folgenden Beispiel gilt die Zugriffskontrolle nur f&#252;r die
Methoden <code>POST</code>, <code>PUT</code> und <code>DELETE</code>.
Alle anderen Methoden bleiben ungesch&#252;tzt:</p>
<div class="example"><p><code>
&lt;Limit POST PUT DELETE&gt;<br />
<span class="indent">
Require valid-user<br />
</span>
&lt;/Limit&gt;
</code></p></div>
<p>Sie k&#246;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&#223;- und Kleinschreibung.</strong> Wenn
<code>GET</code> verwendet wird, sind <code>HEAD</code>-Anfragen
ebenfalls eingeschr&#228;nkt. Die <code>TRACE</code>-Methode kann nicht
limitiert werden.</p>
<div class="warning">
Bei Zugriffsbeschr&#228;nkungen ist ein <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code>-Abschnitt stets einem
<code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>-Abschnitt
vorzuziehen, da ein <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code>-Abschnitt vor allen m&#246;glichen
Methoden sch&#252;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">&lt;LimitExcept&gt;</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&#228;nkt Zugriffskontrollen auf alle HTTP-Methoden
au&#223;er den genannten</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;LimitExcept <var>Methode</var> [<var>Methode</var>] ... &gt; ...
&lt;/LimitExcept&gt;</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">&lt;LimitExcept&gt;</code> und
<code>&lt;/LimitExcept&gt;</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">&lt;Limit&gt;</a></code>-Containers
und kann zur Steuerung von Standard- und nicht-Standard-/unbekannten
Methoden verwendet werden. F&#252;r weitere Einzelheiten lesen Sie bitte
die Beschreibung zu <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>.</p>
<p>Beispiel:</p>
<div class="example"><p><code>
&lt;LimitExcept POST GET&gt;<br />
<span class="indent">
Require valid-user<br />
</span>
&lt;/LimitExcept&gt;
</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&#228;t:</a></th><td>Verf&#252;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.&#220;.:</em> engl. Subrequest)</span> ist ein Mechanismus des
Apache, um herauszufinden, was bei einer URI geschehen w&#252;rde, w&#228;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&#252;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&#228;uft. Derartige Schleifen werden
gew&#246;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&#252;rfen. Die zweite
<var>Zahl</var> legt fest, wie tief Unteranfragen ineinander
verschachtelt werden d&#252;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&#246;&#223;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&#246;&#223;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
&#252;berschreitet, gibt der Server einen Fehler zur&#252;ck anstatt die
Anfrage zu bearbeiten. Die Gr&#246;&#223;e des Datenteils einer Anfrage
kann sehr stark variieren, abh&#228;ngig von der Art der Ressource und
den f&#252;r diese Ressource erlaubten Methoden. CGI-Skripte verwenden
den Datenteil &#252;blicherweise zum Empfang von Formulardaten. Wird
die <code>PUT</code>-Methode angewendet, dann muss der Wert mindestens
so gro&#223; sein wie irgendeine Darstellungsform, die der Server
f&#252;r diese Ressource akzeptieren soll.</p>
<p>Die Direktive gibt dem Serveradministrator eine gr&#246;&#223;ere
Kontrolle gegen&#252;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&#246;&#223;e der hochgeladenen Dateien
auf 100K beschr&#228;nken wollen, k&#246;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&#228;ndern. F&#252;r den Server
muss dieser Wert gr&#246;&#223;er sein als die Anzahl der Headerzeilen,
die ein normaler Client senden k&#246;nnte. Die Anzahl der Request-Header,
die ein gew&#246;hnlicher Client verwendet, &#252;berschreitet selten 20
Zeilen. Allerdings kann dies zwischen den verschiedenen
Client-Ausf&#252;hrungen variieren, oft abh&#228;ngig vom Ausma&#223;,
mit dem der Anwender die genaue Content-Negotiation-Unterst&#252;tzung
seines Browsers konfiguriert hat. Optionale HTTP-Erweiterungen
&#228;u&#223;ern sich oft in Form von HTTP-Headern.</p>
<p>Die Direktive gibt dem Serveradministrator eine gr&#246;&#223;ere
Kontrolle gegen&#252;ber abnormalem Verhalten von Clients, was bei der
Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
sein kann. Der Wert sollte erh&#246;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&#228;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&#246;&#223;e eines
HTTP-Request-Headers zu verringern oder erh&#246;hen. F&#252;r den Server
muss der Wert gro&#223; genug sein, um eine beliebige Headerzeile einer
normalen Client-Anfrage vorzuhalten. Die Gr&#246;&#223;e variiert stark
zwischen den verschiedenen Client-Ausf&#252;hrungen, oft abh&#228;ngig vom
Ausma&#223;, mit dem der Anwender die genaue
Content-Negotiation-Unterst&#252;tzung seines Browsers konfiguriert hat.
SPNEGO-Authentisierungs-Header k&#246;nnen bis zu 12392 Bytes lang
sein.</p>
<p>Die Direktive gibt dem Serveradministrator eine gr&#246;&#223;ere
Kontrolle gegen&#252;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&#228;nden sollte die Voreinstellung nicht
ver&#228;ndert werden.</div>
<div class="note">Sie ben&#246;tigen mindestens Apache 2.0.53, um das Limit
&#252;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&#228;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&#246;&#223;e der
HTTP-Anfragezeile auf einen Wert unterhalb der normalen, im Server
einkompilierten Gr&#246;&#223;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&#228;nkung der L&#228;nge der f&#252;r eine Anfrage an den
Server erlaubten Anfrage-URI. F&#252;r den Server muss der Wert gro&#223;
genug sein, um jeden seiner Ressourcennamen vorzuhalten,
einschlie&#223;lich aller Informationen, die im Query-String einer
<code>GET</code>-Anfrage &#252;bergeben werden k&#246;nnen.</p>
<p>Die Direktive gibt dem Serveradministrator eine gr&#246;&#223;ere
Kontrolle gegen&#252;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&#228;nden sollte die Voreinstellung nicht
ver&#228;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&#246;&#223;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&#252;r die maximale Gr&#246;&#223;e (in Bytes)
des XML-basierten Request-Bodys an. Der Wert <code>0</code> deaktiviert
diese Pr&#252;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">&lt;Location&gt;</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>&lt;Location
<var>URL-Pfad</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</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">&lt;Location&gt;</code>
begrenzt die Reichweite der enthaltenen Anweisungen auf URLs.
Sie ist der Direktive <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> &#228;hnlich und startet einen
Abschnitt, der mit der Anweisung <code>&lt;/Location&gt;</code>
abgeschlossen wird. <code class="directive">&lt;Location&gt;</code>-Container werden, nachdem die
<code class="directive"><a href="#directory">&lt;Directory&gt;</a></code>-Container
und <code>.htaccess</code>-Dateien gelesen wurden, und nach den
<code class="directive"><a href="#files">&lt;Files&gt;</a></code>-Containern, in
der Reihenfolge ausgef&#252;hrt, in der sie in der Konfigurationsdatei
erscheinen.</p>
<p><code class="directive">&lt;Location&gt;</code>-Abschnitte operieren
vollst&#228;ndig au&#223;erhalb des Dateisystems. Dies hat mehrere
Konsequenzen. An Wichtigsten, <code class="directive">&lt;Location&gt;</code>-Anweisungen sollten nicht daf&#252;r
verwendet werden, den Zugriff zu Teilen des Dateisystems zu steuern. Da
mehrere unterschiedliche URLs auf die gleiche Stelle des Dateisystems
zeigen k&#246;nnen, k&#246;nnte eine solche Zugriffskontrolle u.U.
umgangen werden.</p>
<div class="note"><h3>Wann sollte<code class="directive">&lt;Location&gt;</code> verwendet werden</h3>
<p>Verwenden Sie <code class="directive">&lt;Location&gt;</code>, um
Anweisungen auf Inhalte anzuwenden, die au&#223;erhalb des Dateisystems
abgelegt sind. Benutzen Sie <code class="directive"><a href="#directory">&lt;Directory&gt;</a></code> und <code class="directive"><a href="#files">&lt;Files&gt;</a></code> f&#252;r Inhalte, die
innerhalb des Dateisystems abgelegt sind. Eine Ausnahme bildet
<code>&lt;Location /&gt;</code>, welches ein einfacher Weg ist, um eine
Konfiguration auf den gesamten Server anzuwenden.</p>
</div>
<p>F&#252;r alle nicht-Proxy-Anfragen ist die entsprechende URL
ein URL-Pfad in der Form <code>/path/</code>. Es d&#252;rfen weder ein
Schema, noch ein Hostname, noch ein Port, noch ein Query-String einbezogen
werden. F&#252;r Proxy-Anfragen hat die Vergleichs-URL die Form
<code>schema://servername/path</code>. Das Pr&#228;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&#228;re Ausdr&#252;cke k&#246;nnen ebenfalls
verwendet werden, indem das Zeichen <code>~</code> hinzugef&#252;gt
wird. Beispielsweise w&#252;rde</p>
<div class="example"><p><code>
&lt;Location ~ "/(extra|special)/data"&gt;
</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">&lt;LocationMatch&gt;</a></code> verh&#228;lt sich
genauso wie <code class="directive">&lt;Location&gt;</code> mit
regul&#228;ren Ausdr&#252;cken.</p>
<p>Die Funktionalit&#228;t von <code class="directive">&lt;Location&gt;</code> ist insbesondere dann n&#252;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&#246;nnten Sie
schreiben:</p>
<div class="example"><p><code>
&lt;Location /status&gt;<br />
<span class="indent">
SetHandler server-status<br />
Order Deny,Allow<br />
Deny from all<br />
Allow from .foo.com<br />
</span>
&lt;/Location&gt;
</code></p></div>
<div class="note"><h3>Anmerkung zu / (Schr&#228;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&#228;gstriche
h&#228;ufig zu einem Schr&#228;gstrich zusammengefa&#223;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">&lt;LocationMatch&gt;</a></code> und der <code class="directive">&lt;Location&gt;</code>-Version mit regul&#228;ren Ausdr&#252;cken
m&#252;ssen Sie explizit mehrere Schr&#228;gstriche angeben, wenn Sie
genau dies beabsichtigen.</p>
<p>Beispielsweise w&#252;rde <code>&lt;LocationMatch ^/abc&gt;</code>
auf die angeforderte URL <code>/abc</code> passen, nicht aber auf
<code>//abc</code>. Die Direktive <code class="directive">&lt;Location&gt;</code> (ohne regul&#228;re Ausdr&#252;cke) verh&#228;lt
sich &#228;hnlich, wenn sie f&#252;r Proxy-Anfragen verwendet wird.
Wenn <code class="directive">&lt;Location&gt;</code> (ohne
regul&#228;re Ausdr&#252;cke) jedoch f&#252;r nicht-Proxy-Anfragen
verwendet wird, werden stillscheigend mehrere Schr&#228;chstriche mit
mit einem einzigen Schr&#228;gstrich gleichgesetzt. Geben Sie
beispielsweise <code>&lt;Location /abc/def&gt;</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 &lt;Directory&gt;,
&lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&#252;r eine
Erl&#228;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">&lt;LocationMatch&gt;</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&#228;re Ausdr&#252;cke passen</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>&lt;LocationMatch
<var>regex</var>&gt; ... &lt;/LocationMatch&gt;</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">&lt;LocationMatch&gt;</code>
begrenzt die Reichweite der enthaltenen Anweisungen in der gleichen Weise
wie <code class="directive"><a href="#location">&lt;Location&gt;</a></code> auf URLs.
Sie verwendet jedoch regul&#228;re Ausdr&#252;cke als Argument anstelle
einer einfachen Zeichenkette. Beispielsweise w&#252;rde</p>
<div class="example"><p><code>
&lt;LocationMatch "/(extra|special)/data"&gt;
</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 &lt;Directory&gt;,
&lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&#252;r eine
Erl&#228;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&#252;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&#252;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&#252;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.&#220;.:</em> "Kindprozess kann die Lock-Datei nicht &#246;ffnen.
Beende Programm")</span></td>
</tr>
<tr>
<td><code>alert</code> </td>
<td>Ma&#223;nahmen m&#252;ssen unverz&#252;glich ergriffen
werden.</td>
<td>"getpwuid: couldn't determine user name from uid"
<span class="transnote">(<em>Anm.d.&#220;.:</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.&#220;.:</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.&#220;.:</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.&#220;.:</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.&#220;.:</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.&#220;.:</em> "Server scheint besch&#228;ftigt zu sein,
(m&#246;glicherweise m&#252;ssen Sie StartServers oder
Min/MaxSpareServers erh&#246;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.&#220;.:</em> "&#214;ffne Konfigurationsdatei ...")</span></td>
</tr>
</table>
<p>Geben Sie einen bestimmten Level an, denn werden Nachrichten von
allen h&#246;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&#228;re Datei k&#246;nnen
Nachrichten des Levels <code>notice</code> nicht unterdr&#252;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&#228;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&#228;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&#252;r diese Einstellung einen hohen Wert
f&#252;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="MaxRanges" id="MaxRanges">MaxRanges</a>-<a name="maxranges" id="maxranges">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Number of ranges allowed before returning the complete
resource </td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRanges default | unlimited | none | <var>number-of-ranges</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxRanges 200</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&#228;t:</a></th><td>Available in Apache HTTP Server 2.0.65 and later</td></tr>
</table><p>Die Dokumentation zu dieser Direktive wurde
noch nicht &#252;bersetzt. Bitte schauen Sie in die englische
Version.</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="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&#252;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&#246;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&#252;r
namensbasierte virtuelle Hosts entgegennimmt. Das ist &#252;blicherweise
die Adresse, zu der die Namen Ihrer namensbasierten virtuellen Hosts
aufgel&#246;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&#252;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&#252;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&#252;nden
<code class="directive">NameVirtualHost</code> an, definieren dann aber keine
<code class="directive">VirtualHost</code>s f&#252;r diese Adresse).</p>
</div>
<p>Optional k&#246;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&#252;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&#246;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">&lt;VirtualHost&gt;</code></h3>
<p>Beachten Sie, dass das Argument der <code class="directive">&lt;VirtualHost&gt;</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 />
&lt;VirtualHost 1.2.3.4&gt;<br />
# ...<br />
&lt;/VirtualHost&gt;<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&#252;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&#252;gbar sind.</p>
<p><var>Option</var> kann auf <code>None</code> gesetzt werden, wobei
keine der besonderen Eigenschaften verf&#252;gbar sind, oder auf eines
oder mehrere der folgenden:</p>
<dl>
<dt><code>All</code></dt>
<dd>Alle Optionen au&#223;er <code>MultiViews</code>. Dies ist
die Voreinstellung.</dd>
<dt><code>ExecCGI</code></dt>
<dd>Die Ausf&#252;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">&lt;Directory&gt;</a></code>-Abschnitte verwendete Pfadname
wechselt.</p>
<p>Beachten Sie auch, dass diese Option innerhalb eines
<code class="directive"><a href="#location">&lt;Location&gt;</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&#246;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&#252;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&#246;rt, wie
der Link.
<div class="note"><h3>Anmerkung</h3> Diese Option wird innerhalb eines
<code class="directive"><a href="#location">&lt;Location&gt;</a></code>-Abschnitts
ignoriert.</div></dd>
</dl>
<p>Wenn mehrere <code class="directive">Options</code> auf ein Verzeichnis
angewandt werden k&#246;nnen, dann wird normalerweise die
spezifischste <span class="transnote">(<em>Anm.d.&#220;.:</em> Gemeint ist die zuletzt
ausgef&#252;hrte Option.)</span> verwendet und alle anderen werden
ignoriert; die Optionen werden nicht vermischt. (Siehe auch <a href="../sections.html#mergin">Wie Abschnitte zusammengef&#252;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&#252;ltigen Optionen hinzugef&#252;gt und jede Option
mit vorangestelltem <code>-</code> wird aus den derzeit g&#252;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&#228;fixe vermischt werden, ist ung&#252;ltig und f&#252;hrt
h&#228;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>
&lt;Directory /web/docs&gt;<br />
<span class="indent">
Options Indexes FollowSymLinks<br />
</span>
&lt;/Directory&gt;<br />
<br />
&lt;Directory /web/docs/spec&gt;<br />
<span class="indent">
Options Includes<br />
</span>
&lt;/Directory&gt;
</code></p></div>
<p>f&#252;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&#252;rde,</p>
<div class="example"><p><code>
&lt;Directory /web/docs&gt;<br />
<span class="indent">
Options Indexes FollowSymLinks<br />
</span>
&lt;/Directory&gt;<br />
<br />
&lt;Directory /web/docs/spec&gt;<br />
<span class="indent">
Options +Includes -Indexes<br />
</span>
&lt;/Directory&gt;
</code></p></div>
<p>dann w&#252;rden die Optionen <code>FollowSymLinks</code> und
<code>Includes</code> f&#252;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&#228;ngig
von der vorigen Einstellung vollst&#228;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&#228;hlt die authentisierten Benutzer aus, die auf eine
Ressource zugreifen k&#246;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&#228;hlt aus, welche authentisierten Benutzer auf eine
Ressource zugreifen d&#252;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&#252;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&#252;rfen auf die
Ressource zugreifen.</dd>
<dt><code>Require valid-user</code></dt>
<dd>Alle g&#252;ltigen Benutzer d&#252;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&#252;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&#252;r <strong>alle</strong> Methoden. <strong>Dies ist normalerweise
gew&#252;nscht.</strong> Wenn Sie Zugriffskontrollen nur auf bestimmte
Methoden anwenden m&#246;chten, w&#228;hrend andere Methoden
ungesch&#252;tzt bleiben, dann m&#252;ssen Sie die
<code class="directive">Require</code>-Anweisung innerhalb eines
<code class="directive"><a href="#limit">&lt;Limit&gt;</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&#252;r alle Prozesse, der zweite Parameter
setzt die Maximalgrenze f&#252;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&#228;uft, zumindest in
der anf&#228;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&#252;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&#252;r alle Prozesse, der zweite Parameter
setzt die Maximalgrenze f&#252;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&#228;uft, zumindest in
der anf&#228;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&#252;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&#246;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&#252;r alle Prozesse, der zweite Parameter
setzt die Maximalgrenze f&#252;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&#228;uft, zumindest in
der anf&#228;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&#228;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.&#220;.:</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&#228;t:</a></th><td>Wird seit Version 2.0.51 von <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code> und <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code> beeinflusst</td></tr>
</table>
<p>Verfahrensweise f&#252;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&#252;tzlich, wenn der Zugriff zu einem bestimmten Bereich
durch Benutzername/Passwort <em>und</em> Clientrechner-Adressen
eingeschr&#228;nkt ist. In diesem Fall verlangt die Voreinstellung
(<code>All</code>), dass der Client die Adressbeschr&#228;nkung passiert
<em>und</em> eine g&#252;ltige Benutzerkennung und ein g&#252;ltiges
Passwort &#252;bermittelt. Mit der Auswahl <code>Any</code> wird dem
Client der Zugriff erlaubt, wenn er entweder die Rechner-Besch&#228;nkung
passiert oder einen g&#252;ltigen Benutzernamen und ein g&#252;ltiges
Passwort &#252;bermittelt. Dies kann verwendet werden, um einen Bereich
mit einem Passwort zu sch&#252;tzen, jedoch Clients von bestimmten
Adressen ohne Abfrage des Passwortes zuzulassen.</p>
<p>Wenn Sie beispielsweise m&#246;chten, dass Personen aus Ihrem
privaten Netzwerk unbech&#228;nkten Zugriff zu Teilen Ihres
Webangebots haben, jedoch verlangen, dass Personen au&#223;erhalb
Ihres privaten Netzwerks ein Passwort &#252;bergeben m&#252;ssen,
k&#246;nnen Sie eine Konfiguration &#228;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&#246;nnen
<code class="directive">Satisfy</code>-Anweisungen durch <code class="directive"><a href="#limit">&lt;Limit&gt;</a></code>- und <code class="directive"><a href="#limitexcept">&lt;LimitExcept&gt;</a></code>-Abschnitte auf bestimmte Methoden
beschr&#228;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&#228;t:</a></th><td>ausschlie&#223;lich Win32; Die Option
<code>Registry-Strict</code> ist verf&#252;gbar seit Apache
2.0.</td></tr>
</table>
<p>Die Direktive steuert, wie der Apache den Interpreter zur Ausf&#252;hrung
von CGI-Skripten bestimmt. Die Voreinstellung ist <code>Script</code>. Dies
veranla&#223;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 &#252;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&#223;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&#252;ssel
<code>Shell\ExecCGI\Command</code> oder, falls dieser nicht existiert,
<code>Shell\Open\Command</code> definierte Befehl wird zum &#214;ffnen der
Skript-Datei verwendet. Wenn die Registrierungsschl&#252;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&#252;hren. Die Einstellung <code>Registry</code>
kann unerw&#252;nschte Programmaufrufe bei Dateien verursachen, die
&#252;blicherweise nicht ausgef&#252;hrt werden. Auf den meisten
Windows-Systemen beispielsweise startet der voreingestellte
&#214;ffnen-Befehl f&#252;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&#252;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&#252;ssel <code>Shell\ExecCGI\Command</code>. Der Schl&#252;ssel
<code>ExecCGI</code> ist gew&#246;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&#252;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&#252;gt, die er an den
Client zur&#252;ckschickt.</p>
<p>Es kann sich lohnen, hierf&#252;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&#228;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&#252;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>
&lt;VirtualHost *&gt;<br />
ServerName server.domain.com<br />
ServerAlias server server2.domain.com server2<br />
# ...<br />
&lt;/VirtualHost&gt;
</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&#228;t:</a></th><td>Diese Direktive l&#246;st in Version 2.0 die
Funktionalit&#228;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&#246;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&#246;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&#252;r eine
optimale Zuverl&#228;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">&lt;VirtualHost&gt;</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&#252;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&#252;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&#252;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.&#220;.:</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. &#220;blicherweise
enth&#228;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&#252;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&#223;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&#246;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&#252;gten
Fu&#223;zeile. Ein m&#246;glicher Grund f&#252;r die Aktivierung einer
solchen Fu&#223;zeile ist, dass der Anwender bei einer Kette von
Proxy-Servern oft keine M&#246;glichkeit hat, zu erkennen, welcher der
verketteten Server gegenw&#228;rtig die zur&#252;ckgegebene Fehlermeldung
produziert hat.</p>
<p>Die (Vor-)Einstellung <code>Off</code> unterdr&#252;ckt die
Fu&#223;zeile (und ist damit kompatibel zum Verhalten des Apache 1.2 und
fr&#252;her). Die Einstellung <code>On</code> f&#252;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&#228;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&#252;ckgesendet wird, eine Beschreibung des
allgemeinen Betriesbsystemtyps des Servers wie auch Informationen
&#252;ber einkompilierte Module enth&#228;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&#252;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&#228;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">&lt;Directory&gt;</a></code>- oder
<code class="directive"><a href="#location">&lt;Location&gt;</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&#228;ngig von
der Endung g&#228;nzlich als Image-Maps interpretiert werden sollen,
k&#246;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&#246;chten, dann k&#246;nnen
Sie folgendes in die <code>httpd.conf</code> schreiben:</p>
<div class="example"><p><code>
&lt;Location /status&gt;<br />
<span class="indent">
SetHandler server-status<br />
</span>
&lt;/Location&gt;
</code></p></div>
<p>Sie k&#246;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&#228;tzlich zu
anderweitig definierten Filtern, einschlie&#223;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&#252;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&#228;tzlich zu anderweitig
definierten Filtern, einschlie&#223;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>
&lt;Directory /www/data/&gt;<br />
<span class="indent">
SetOutputFilter INCLUDES<br />
</span>
&lt;/Directory&gt;
</code></p></div>
<p>Wenn mehr als ein Filter angegeben wird, dann m&#252;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&#246;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 &#220;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&#246;tigt wird. Die Voreinstellung wurde nicht
weiter herabgesetzt, da gelegentlich noch Stellen im Code existieren
k&#246;nnen, wo der Zeitgeber nicht zur&#252;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&#228;t:</a></th><td>Seit den Versionen 1.3.34 und 2.0.55</td></tr>
</table>
<p>Diese Direktive &#252;berschreibt das Verhalten bei <code>TRACE</code>
sowohl f&#252;r den Hauptserver als auch f&#252;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&#228;&#223; 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&#246;nnen Request-Bodies zugelassen werden. Das ist
allerdings ausschlie&#223;lich f&#252;r Test- und Diagnosezwecke gedacht.
Der Hauptserver (als Ursprungsserver) <span class="transnote">(<em>Anm.d.&#220;.:</em> damit ist der
Normalbetrieb und nicht der Einsatz als Proxy-Server gemeint)</span>
limitiert den Request-Body auf 64K (plus 8K f&#252;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&#252;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&#252;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 &#252;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&#252;gbar
<span class="transnote">(<em>Anm.d.&#220;.:</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&#223;enden Schr&#228;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&#252;r <code>www</code> und noch einmal f&#252;r
<code>www.domain.com</code> -- lesen Sie f&#252;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&#252;r den Betrieb von IP-basierten Massen-Virtual-Hosts gedacht ist,
um antiquierte Clients zu unterst&#252;tzen, die keinen
<code>Host:</code>-Header bereit stellen. Um selbstreferenzierende
URLs zu ermitteln, f&#252;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&#246;nnen sie durch diese
Option fehlschlagen. Clients steht es im Wesentlichen frei, einen Wert
f&#252;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">&lt;VirtualHost&gt;</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&#228;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>&lt;VirtualHost
<var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]]
...&gt; ... &lt;/VirtualHost&gt;</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">&lt;VirtualHost&gt;</code> und
<code>&lt;/VirtualHost&gt;</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&#228;ssig ist, kann verwendet werden. Wenn der Server eine Anfrage
f&#252;r ein bestimmtes Dokument eines bestimmten virtuellen Hosts
empf&#228;ngt, dann benutzt er die im
<code class="directive">&lt;VirtualHost&gt;</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&#252;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>
&lt;VirtualHost 10.1.2.3&gt;<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>
&lt;/VirtualHost&gt;
</code></p></div>
<p>IPv6-Adressen m&#252;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>
&lt;VirtualHost [2001:db8::a00:20ff:fea7:ccea]&gt;<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>
&lt;/VirtualHost&gt;
</code></p></div>
<p>Jeder virtuelle Host muss einer anderen IP-Adresse, einem anderen Port
oder einem anderen Hostnamen f&#252;r den Server entsprechen. Im ersten
Fall muss die Servermaschine so eingerichtet sein, dass sie IP-Pakete
f&#252;r mehrere Adressen akzeptiert. (Wenn der Rechner nicht mehrere
Netzwerkkarten besitzt, kann dies mit dem Befehl <code>ifconfig
alias</code> durchgef&#252;hrt werden -- sofern Ihr Betriebssystem das
unterst&#252;tzt).</p>
<div class="note"><h3>Anmerkung</h3>
<p>Die Verwendung von <code class="directive">&lt;VirtualHost&gt;</code>
beeinflusst <strong>nicht</strong>, an welchen Adressen der Apache
lauscht. Sie m&#252;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&#223;erhalb der Virtual-Host-Abschnitte
besteht, f&#252;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&#252;r weitere Details die Dokumentation zu <a href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>.)</p>
<p>Sie k&#246;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&#246;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&#252;r
Details, warum Ihre Sicherheit gef&#228;hrdet sein kann, wenn das
Verzeichnis, in dem Protokolldateien gespeichert werden, f&#252;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&#252;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 &lt;Directory&gt;,
&lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&#252;r eine
Erl&#228;uterung, wie diese verschiedenen Abschnitte miteinander
kombiniert werden, wenn eine Anfrage empfangen wird</li>
</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Verf&#252;gbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2013 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>