Lippert: Syntax von setenv

Hallo,
in der Doku von Apache/Org habe ich gefunden

  
Description:	Sets environment variables  
Syntax:	SetEnv env-variable value  
Context:	server config, virtual host, directory, .htaccess  
Override:	FileInfo  
Status:	Base  
Module:	mod_env  
  
Sets an environment variable, which is then passed on to CGI scripts and SSI pages.  
Example  
  
SetEnv SPECIAL_PATH /foo/bin  

Unter 'value' habe ich bisher verstanden num. Variablen   o h n e    und alphan. Variablen    m i t    Begrenzern.
Aus dem angegebenen Beispiel geht aber hervor, dass keine Stringbegrenzer nötig (erlaubt) sind.
Also
SetEnv NUMWERT 6
SetEnv ALPHAWERT abcd*f
Letzteres funktioniert allerdings nicht, wenn der String Leerzeichen enthält.
SetEnv TEXT abc def           <= nicht akzeptiert
Also müssen in diesem Falle doch String-Begrenzer angegeben werden.
Ist es dann sinnvoll, generell bei nichtnum. Feldern die Begrenzer anzugeben?
Danke
Lippert

  1. Hi!

    Unter 'value' habe ich bisher verstanden num. Variablen   o h n e    und alphan. Variablen    m i t    Begrenzern.

    Werte, nicht Variablen. Aber deine Faustregel ist nicht überall gültig. Die Syntax der Apache-Direktive ist auch ohne Begrenzungszeichen eindeutig. Pro Anweisung eine Zeile, der dritte Teil ist der Wert, danach kommt nichts mehr (außer dem Zeilenumbruch). Begrenzungszeichen brauch man nur, wenn Anfang und Ende sonst nicht eindeutig ermittelt werden können.

    SetEnv TEXT abc def           <= nicht akzeptiert
    Also müssen in diesem Falle doch String-Begrenzer angegeben werden.

    Das ist dann eine Ausnahme. Vermutlich kann die Direktive nichts dafür, weil der Konfigurationsparser vom Apachen möglicherweise am Leerzeichen schneidet, außer bei Einrahmungen.

    Ist es dann sinnvoll, generell bei nichtnum. Feldern die Begrenzer anzugeben?

    Warum? Wenns ohne auch geht, kann man es weglassen. Nur aus Prinzip würde ich etwas nicht machen. Allerdings kannst du es gern so handhaben, es generell einzurahmen, so dass du dir im Falle von Leerzeichen keine Ausnahme merken musst.

    Lo!