⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 core.xml.de

📁 Apache HTTP Server 是一个功能强大的灵活的与HTTP/1.1相兼容的web服务器.这里给出的是Apache HTTP服务器的源码。
💻 DE
📖 第 1 页 / 共 5 页
字号:
    <example>      &lt;Directory /usr/local/httpd/htdocs&gt;<br />      <indent>        Options Indexes FollowSymLinks<br />      </indent>      &lt;/Directory&gt;    </example>    <note>      <p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten.      Sie m&uuml;ssen buchst&auml;blich mit dem Dateisystempfad      &uuml;bereinstimmen, den der Apache f&uuml;r den Zugriff auf die      Dateien verwendet. Direktiven, die f&uuml;r ein bestimmtes      Verzeichnis gelten, gelten nicht f&uuml;r Dateien in dem Verzeichnis,      auf die &uuml;ber einen anderen Pfad zugegriffen wird, wie z.B.      &uuml;ber verschiedene symbolische Links.</p>    </note>    <p>Erweiterte regul&auml;re Ausdr&uuml;cke k&ouml;nnen ebenfalls    verwendet werden, indem das Zeichen <code>~</code> hinzugef&uuml;gt    wird. Beispielsweise w&uuml;rde</p>    <example>      &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;    </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&auml;re Ausdr&uuml;cke) auf ein Verzeichnis (oder    ein ihm &uuml;bergeordnetes Verzeichnis) passen, welches ein Dokument    enth&auml;lt, dann werden die Direktiven der Reihe nach, angefangen    beim k&uuml;rzesten passenden Muster, vermischt mit den Direktiven    aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet.    Beispiel:</p>    <example>      &lt;Directory /&gt;<br />      <indent>        AllowOverride None<br />      </indent>      &lt;/Directory&gt;<br />      <br />      &lt;Directory /home/&gt;<br />      <indent>        AllowOverride FileInfo<br />      </indent>      &lt;/Directory&gt;    </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&auml;re Ausdr&uuml;cke werden solange nicht ber&uuml;cksichtigt,    bis alle normalen Abschnitte angewendet wurden. Anschlie&szlig;end    werden alle regul&auml;ren Ausdr&uuml;cke in der Reihenfolge    gepr&uuml;ft, in der sie in der Konfigurationsdatei auftauchen.    Beispielsweise wird bei</p>    <example>      &lt;Directory ~ abc$&gt;<br />      <indent>        # ... hier die Direktiven ...<br />      </indent>      &lt;/Directory&gt;    </example>    <p>der Abschnitt mit dem regul&auml;ren Ausdruck nicht    ber&uuml;cksichtigt, bis alle normalen    <directive type="section">Directory</directive>-Abschnitte und    <code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird    der regul&auml;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&uuml;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>    <example>      &lt;Directory /&gt;<br />      <indent>        Order Deny,Allow<br />        Deny from All<br />      </indent>      &lt;/Directory&gt;    </example>    <p><strong>&auml;ndern und anschlie&szlig;end f&uuml;r    Verzeichnisse &uuml;berschreiben, die Sie verf&uuml;gbar machen    <em>wollen</em>. F&uuml;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&uuml;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 &lt;Directory&gt;,    &lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&uuml;r eine    Erl&auml;uterung, wie diese verschiedenen Abschnitte miteinander    kombiniert werden, wenn eine Anfrage empfangen wird</seealso></directivesynopsis><directivesynopsis type="section"><name>DirectoryMatch</name><description>Umschlie&szlig;t eine Gruppe von Direktiven, die auf  Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet  werden, welche auf einen regul&auml;ren Ausdruck passen</description><syntax>&lt;DirectoryMatch <var>regex</var>&gt;... &lt;/DirectoryMatch&gt;</syntax><contextlist><context>server config</context><context>virtual host</context></contextlist><usage>    <p><directive type="section">DirectoryMatch</directive> und    <code>&lt;/DirectoryMatch&gt;</code> werden dazu verwendet, eine    Gruppe von Direktiven zusammenzufassen, die nur f&uuml;r das    genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso    wie bei <directive module="core" type="section">Directory</directive>.    Als Argument dient jedoch ein regul&auml;rer Ausdruck.    Beispielsweise w&uuml;rde</p>    <example>      &lt;DirectoryMatch "^/www/(.+/)?[0-9]{3}"&gt;    </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&uuml;r eine Beschreibung, wie regul&auml;re Ausdr&uuml;cke mit    normalen <directive type="section">Directory</directive>-Anweisungen    vermischt werden.</seealso><seealso><a href="../sections.html">Wie die Abschnitte &lt;Directory&gt;,    &lt;Location&gt; und &lt;Files&gt; arbeiten</a> f&uuml;r eine    Erl&auml;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&auml;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&auml;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&auml;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&auml;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&auml;&szlig;ig    Memory-Mapping f&uuml;r diese Datei, sofern das Betriebssystem es    unterst&uuml;tzt.</p>    <p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung.    In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu    deaktivieren, um Problemen w&auml;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&uuml;rzen, wenn eine Datei gel&ouml;scht oder    gek&uuml;rzt wird, w&auml;hrend <program>httpd</program> sie im Speicher    abbildet.</li>    </ul>    <p>Bei Serverkonfigurationen, die f&uuml;r dieses Problem    anf&auml;llig sind, sollten Sie das Memory-Mapping f&uuml;r    auszuliefernde Dateien deaktivieren, indem Sie schreiben:</p>    <example>      EnableMMAP Off    </example>    <p>Bei per NFS eingebundenen Dateien kann diese Funktion    explizit f&uuml;r die st&ouml;renden Dateien deaktiviert werden,    indem Sie angeben:</p>    <example>      &lt;Directory "/pfad-zu-den-nfs-dateien"&gt;      <indent>        EnableMMAP Off      </indent>      &lt;/Directory&gt;    </example></usage></directivesynopsis><directivesynopsis><name>EnableSendfile</name><description>Verwende die sendfile-Unterst&uuml;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&uuml;gbar ab Apache Version 2.0.44</compatibility><usage>    <p>Die Direktive steuert, ob <program>httpd</program> die    sendfile-Unterst&uuml;tzung des Kernels verwenden kann, um    Dateiinhalte an den Client zu &uuml;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&uuml;tzt, verwendet der Apache    standardm&auml;&szlig;ig sendfile, um den Dateiinhalt zu    &uuml;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&auml;hrend des Betriebs zu vermeiden:</p>    <ul>    <li>Einige Plattformen besitzen u.U. eine fehlerhafte    sendfile-Unterst&uuml;tzung, die das Erstellungssystem nicht erkennt,    insbesondere wenn die Bin&auml;rdateien auf einem anderen Rechner erstellt    und auf eine solche Maschine mit fehlerhafter sendfile-Unterst&uuml;tzung    &uuml;bertragen wurden.</li>    <li>Bei einem &uuml;ber das Netzwerk eingebundenen <directive    module="core">DocumentRoot</directive> (z.B. NFS oder SMB) ist der    Kernel m&ouml;glicherweise nicht in der Lage, die Netzwerkdatei    &uuml;ber seinen eigenen Cache zu bedienen.</li>    <li>Unter Linux l&ouml;st die Verwendung von <code>sendfile</code>    in Verbindung mit bestimmten Netzwerkkarten und IPv6    TCP-Checksummenfehler aus.</li>    </ul>    <p>Bei Serverkonfigurationen, die f&uuml;r dieses Problam    anf&auml;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&uuml;r die st&ouml;renden Dateien deaktiviert werden, indem    Sie angeben:</p>    <example>      &lt;Directory "/pfad-zu-den-nfs-dateien"&gt;      <indent>        EnableSendfile Off      </indent>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -