Httpd.conf/Syntax: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== Syntax == httpd-Konfigurationsdateien enthalten eine Direktive pro Zeile * Der Backslash "\" kann als letztes Zeichen in einer Zeile verwendet werden, um anzuzeigen, dass die Direktive in der nächsten Zeile fortgesetzt wird * Zwischen dem Backslash und dem Ende der Zeile dürfen keine anderen Zeichen oder Leerzeichen stehen Argumente für Direktiven werden durch Leerzeichen getrennt * Wenn ein Argument Leerzeichen enthält, müssen Sie es in Anführu…“ |
Keine Bearbeitungszusammenfassung |
||
Zeile 28: | Zeile 28: | ||
Sie können <code>mod_info</code>'s <code>-DDUMP_CONFIG</code> verwenden, um die Konfiguration mit allen enthaltenen Dateien und Umgebungsvariablen aufzulösen und alle Kommentare und nicht passenden <code><IfDefine></code> und <code><IfModule></code> Abschnitte zu entfernen | Sie können <code>mod_info</code>'s <code>-DDUMP_CONFIG</code> verwenden, um die Konfiguration mit allen enthaltenen Dateien und Umgebungsvariablen aufzulösen und alle Kommentare und nicht passenden <code><IfDefine></code> und <code><IfModule></code> Abschnitte zu entfernen | ||
* Die Ausgabe spiegelt jedoch nicht die Zusammenführung oder das Überschreiben wider, die bei wiederholten Direktiven auftreten können | * Die Ausgabe spiegelt jedoch nicht die Zusammenführung oder das Überschreiben wider, die bei wiederholten Direktiven auftreten können | ||
[[Kategorie:Apache/HTTP/Konfiguration]] |
Version vom 4. November 2024, 12:16 Uhr
Syntax
httpd-Konfigurationsdateien enthalten eine Direktive pro Zeile
- Der Backslash "\" kann als letztes Zeichen in einer Zeile verwendet werden, um anzuzeigen, dass die Direktive in der nächsten Zeile fortgesetzt wird
- Zwischen dem Backslash und dem Ende der Zeile dürfen keine anderen Zeichen oder Leerzeichen stehen
Argumente für Direktiven werden durch Leerzeichen getrennt
- Wenn ein Argument Leerzeichen enthält, müssen Sie es in Anführungszeichen setzen
Bei den Direktiven in den Konfigurationsdateien wird die Groß- und Kleinschreibung nicht beachtet, aber bei den Argumenten für Direktiven wird häufig die Groß- und Kleinschreibung beachtet
- Zeilen, die mit dem Hash-Zeichen "#" beginnen, gelten als Kommentare und werden ignoriert
- Kommentare dürfen nicht in der gleichen Zeile wie eine Konfigurationsanweisung enthalten sein. Leerzeichen, die vor einer Direktive stehen, werden ignoriert, so dass Sie Direktiven zur besseren Übersichtlichkeit einrücken können
- Leerzeilen werden ebenfalls ignoriert
Die Werte von Variablen, die mit Define
oder Shell-Umgebungsvariablen definiert wurden, können in Konfigurationsdateizeilen mit der Syntax ${VAR}
verwendet werden
- Wenn "VAR" der Name einer gültigen Variable ist, wird der Wert dieser Variable an dieser Stelle in der Konfigurationsdateizeile ersetzt, und die Verarbeitung wird fortgesetzt, als ob der Text direkt in der Konfigurationsdatei gefunden würde
- Mit
Define
definierte Variablen haben Vorrang vor Shell-Umgebungsvariablen - Wird die "VAR"-Variable nicht gefunden, bleiben die Zeichen
${VAR}
unverändert, und es wird eine Warnung protokolliert - Variablennamen dürfen keine Doppelpunkte ":" enthalten, um Konflikte mit der Syntax von
RewriteMap
zu vermeiden
Nur Shell-Umgebungsvariablen, die vor dem Start des Servers definiert wurden, können in Erweiterungen verwendet werden
- Umgebungsvariablen, die in der Konfigurationsdatei selbst definiert werden, zum Beispiel mit
SetEnv
, werden zu spät wirksam, um für Erweiterungen in der Konfigurationsdatei verwendet zu werden
Die maximale Länge einer Zeile in normalen Konfigurationsdateien beträgt nach dem Ersetzen von Variablen und dem Verbinden von fortgesetzten Zeilen etwa 16 MiB
- In .htaccess-Dateien beträgt die maximale Länge 8190 Zeichen
Sie können Ihre Konfigurationsdateien auf Syntaxfehler überprüfen, ohne den Server zu starten, indem Sie apachectl configtest
oder die Befehlszeilenoption -t
verwenden
Sie können mod_info
's -DDUMP_CONFIG
verwenden, um die Konfiguration mit allen enthaltenen Dateien und Umgebungsvariablen aufzulösen und alle Kommentare und nicht passenden <IfDefine>
und <IfModule>
Abschnitte zu entfernen
- Die Ausgabe spiegelt jedoch nicht die Zusammenführung oder das Überschreiben wider, die bei wiederholten Direktiven auftreten können