📄 core.xml.de
字号:
<example> <Directory /usr/local/httpd/htdocs><br /> <indent> Options Indexes FollowSymLinks<br /> </indent> </Directory> </example> <note> <p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten. Sie müssen buchstäblich mit dem Dateisystempfad übereinstimmen, den der Apache für den Zugriff auf die Dateien verwendet. Direktiven, die für ein bestimmtes Verzeichnis gelten, gelten nicht für Dateien in dem Verzeichnis, auf die über einen anderen Pfad zugegriffen wird, wie z.B. über verschiedene symbolische Links.</p> </note> <p>Erweiterte reguläre Ausdrücke können ebenfalls verwendet werden, indem das Zeichen <code>~</code> hinzugefügt wird. Beispielsweise würde</p> <example> <Directory ~ "^/www/.*/[0-9]{3}"> </example> <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei Zahlen bestehen.</p> <p>Wenn mehrere <directive type="section">Directory</directive>-Abschnitte (ohne reguläre Ausdrücke) auf ein Verzeichnis (oder ein ihm übergeordnetes Verzeichnis) passen, welches ein Dokument enthält, dann werden die Direktiven der Reihe nach, angefangen beim kürzesten passenden Muster, vermischt mit den Direktiven aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet. Beispiel:</p> <example> <Directory /><br /> <indent> AllowOverride None<br /> </indent> </Directory><br /> <br /> <Directory /home/><br /> <indent> AllowOverride FileInfo<br /> </indent> </Directory> </example> <p>Beim Zugriff auf das Dokument <code>/home/web/dir/doc.html</code> sind die einzelnen Schritte:</p> <ul> <li>Wende die Direktive <code>AllowOverride None</code> an (deaktiviere <code>.htaccess</code>-Dateien).</li> <li>Wende die Direktive <code>AllowOverride FileInfo</code> (auf das Verzeichnis <code>/home</code>) an.</li> <li>Wende jede <code>FileInfo</code>-Direktive aus <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> und <code>/home/web/dir/.htaccess</code> der Reihe nach an.</li> </ul> <p>Reguläre Ausdrücke werden solange nicht berücksichtigt, bis alle normalen Abschnitte angewendet wurden. Anschließend werden alle regulären Ausdrücke in der Reihenfolge geprüft, in der sie in der Konfigurationsdatei auftauchen. Beispielsweise wird bei</p> <example> <Directory ~ abc$><br /> <indent> # ... hier die Direktiven ...<br /> </indent> </Directory> </example> <p>der Abschnitt mit dem regulären Ausdruck nicht berücksichtigt, bis alle normalen <directive type="section">Directory</directive>-Abschnitte und <code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird der reguläre Ausdruck mit <code>/home/abc/public_html/abc</code> abgeglichen und der entsprechende <directive type="section">Directory</directive>-Abschnitt angewendet.</p> <p><strong>Beachten Sie bitte, dass der vom Apache voreingestellte Zugriff für <code><Directory /></code> <code>Allow from All</code> ist. Das bedeutet, dass der Apache jede Datei ausliefert, die durch eine URL abgebildet wird. Es wird empfohlen, dass Sie dies durch einen Block wie</strong></p> <example> <Directory /><br /> <indent> Order Deny,Allow<br /> Deny from All<br /> </indent> </Directory> </example> <p><strong>ändern und anschließend für Verzeichnisse überschreiben, die Sie verfügbar machen <em>wollen</em>. Für weitere Einzelheiten lesen Sie bitte die Seite zu den <a href="../misc/security_tips.html">Sicherheitshinweisen</a>.</strong></p> <p>Die Verzeichnisabschnitte erscheinen in der Datei <code>httpd.conf</code>. <directive type="section">Directory</directive>-Direktiven dürfen nicht ineinander verschachtelt werden oder innerhalb von <directive module="core" type="section">Limit</directive>- oder <directive module="core" type="section">LimitExcept</directive>-Abschnitten auftauchen.</p></usage><seealso><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> für eine Erläuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</seealso></directivesynopsis><directivesynopsis type="section"><name>DirectoryMatch</name><description>Umschließt eine Gruppe von Direktiven, die auf Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet werden, welche auf einen regulären Ausdruck passen</description><syntax><DirectoryMatch <var>regex</var>>... </DirectoryMatch></syntax><contextlist><context>server config</context><context>virtual host</context></contextlist><usage> <p><directive type="section">DirectoryMatch</directive> und <code></DirectoryMatch></code> werden dazu verwendet, eine Gruppe von Direktiven zusammenzufassen, die nur für das genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso wie bei <directive module="core" type="section">Directory</directive>. Als Argument dient jedoch ein regulärer Ausdruck. Beispielsweise würde</p> <example> <DirectoryMatch "^/www/(.+/)?[0-9]{3}"> </example> <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei Zeichen bestehen.</p></usage><seealso><directive type="section" module="core">Directory</directive> für eine Beschreibung, wie reguläre Ausdrücke mit normalen <directive type="section">Directory</directive>-Anweisungen vermischt werden.</seealso><seealso><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> für eine Erläuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</seealso></directivesynopsis><directivesynopsis><name>DocumentRoot</name><description>Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der imWeb sichtbar ist.</description><syntax>DocumentRoot <var>Verzeichnis</var></syntax><default>DocumentRoot /usr/local/apache/htdocs</default><contextlist><context>server config</context><context>virtual host</context></contextlist><usage> <p>Die Direktive setzt das Verzeichnis, von dem aus <program>httpd</program> Dateien ausliefert. Sofern nicht eine Direktive wie <directive module="mod_alias">Alias</directive> greift, hängt der Server Pfade aus der angeforderten URL an das Wurzelverzeichnis an, um den Pfad zum Dokument zu bilden. Beispiel:</p> <example> DocumentRoot /usr/web </example> <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><directive>DocumentRoot</directive> sollte ohne einen Schrägstrich am Ende angegeben werden.</p></usage><seealso><a href="../urlmapping.html">URLs auf das Dateisystemabbilden</a></seealso></directivesynopsis><directivesynopsis><name>EnableMMAP</name><description>Verwende Memory-Mapping, um Dateien während derAuslieferung zu lesen</description><syntax>EnableMMAP On|Off</syntax><default>EnableMMAP On</default><contextlist><context>server config</context><context>virtual host</context><context>directory</context><context>.htaccess</context></contextlist><override>FileInfo</override><usage> <p>Die Direktive steuert, ob <program>httpd</program> Memory-Mapping verwenden darf, wenn er während der Auslieferung den Inhalt einer Datei lesen muss. Wenn die Bearbeitung einer Anfrage es erfordert, auf die Daten in einer Datei zuzugreifen -- zum Beispiel bei der Auslieferung einer mittels <module>mod_include</module> serverseitig analysierten Datei --, dann verwendet der Apache standardmäßig Memory-Mapping für diese Datei, sofern das Betriebssystem es unterstützt.</p> <p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung. In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu deaktivieren, um Problemen während des Betriebs vorzubeugen:</p> <ul> <li>Bei einigen Multiprozessorsystemen kann Memory-Mapping die Performance von <program>httpd</program> reduzieren.</li> <li>Bei einem per NFS eingebundenen <directive module="core">DocumentRoot</directive> kann <program>httpd</program> mit einem Speicherzugriffsfehler <transnote>ein so genannter "segmentation fault"</transnote> abstürzen, wenn eine Datei gelöscht oder gekürzt wird, während <program>httpd</program> sie im Speicher abbildet.</li> </ul> <p>Bei Serverkonfigurationen, die für dieses Problem anfällig sind, sollten Sie das Memory-Mapping für auszuliefernde Dateien deaktivieren, indem Sie schreiben:</p> <example> EnableMMAP Off </example> <p>Bei per NFS eingebundenen Dateien kann diese Funktion explizit für die störenden Dateien deaktiviert werden, indem Sie angeben:</p> <example> <Directory "/pfad-zu-den-nfs-dateien"> <indent> EnableMMAP Off </indent> </Directory> </example></usage></directivesynopsis><directivesynopsis><name>EnableSendfile</name><description>Verwende die sendfile-Unterstützung des Kernels, umDateien an den Client auszuliefern</description><syntax>EnableSendfile On|Off</syntax><default>EnableSendfile On</default><contextlist><context>server config</context><context>virtual host</context><context>directory</context><context>.htaccess</context></contextlist><override>FileInfo</override><compatibility>Verfügbar ab Apache Version 2.0.44</compatibility><usage> <p>Die Direktive steuert, ob <program>httpd</program> die sendfile-Unterstützung des Kernels verwenden kann, um Dateiinhalte an den Client zu übermitteln. Wenn die Bearbeitung einer Anfrage keinen Zugriff auf die Daten in der Datei erfordert -- zum Beispiel bei der Auslieferung einer statischen Datei -- und das Betriebssystem es unterstützt, verwendet der Apache standardmäßig sendfile, um den Dateiinhalt zu übertragen, ohne die Datei jemals zu lesen.</p> <p>Der sendfile-Mechanismus vermeidet getrennte Lese- und Sendeoperationen sowie Puffer-Zuweisungen. Bei einigen Plattformen bzw. Dateisystemen deaktivieren Sie diese Funktion jedoch besser, um Probleme während des Betriebs zu vermeiden:</p> <ul> <li>Einige Plattformen besitzen u.U. eine fehlerhafte sendfile-Unterstützung, die das Erstellungssystem nicht erkennt, insbesondere wenn die Binärdateien auf einem anderen Rechner erstellt und auf eine solche Maschine mit fehlerhafter sendfile-Unterstützung übertragen wurden.</li> <li>Bei einem über das Netzwerk eingebundenen <directive module="core">DocumentRoot</directive> (z.B. NFS oder SMB) ist der Kernel möglicherweise nicht in der Lage, die Netzwerkdatei über seinen eigenen Cache zu bedienen.</li> <li>Unter Linux löst die Verwendung von <code>sendfile</code> in Verbindung mit bestimmten Netzwerkkarten und IPv6 TCP-Checksummenfehler aus.</li> </ul> <p>Bei Serverkonfigurationen, die für dieses Problam anfällig sind, sollten die diese Funktion deaktivieren, indem Sie schreiben:</p> <example> EnableSendfile Off </example> <p>Bei per NFS oder SMB eingebundenen Dateien kann diese Funktion explizit für die störenden Dateien deaktiviert werden, indem Sie angeben:</p> <example> <Directory "/pfad-zu-den-nfs-dateien"> <indent> EnableSendfile Off </indent>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -