Httpd.conf/Syntax

Aus Foxwiki
Version vom 4. November 2024, 12:03 Uhr von Dirkwagner (Diskussion | Beiträge) (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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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