Siechfred: Extended SSI: Variablensubstitution

Beitrag lesen

Hell-O!

ich möchte bei einem include virtual
den Dateinamen im Query mitgeben.

Das geht grundsätzlich schon.

<!--#include virtual="header.shtml?DOCUMENT_NAME" -->
haut leider nicht hin.

Ja, weil du header.shtml den String "DOCUMENT_NAME" übergibst.

<!--#include virtual="header.shtml?$ENV{'Script_NAME'}" -->
und ähnliche Varianten wollen nicht klappen

Solltest du Extended SSI verwenden (Apache erforderlich), sollte diese Variante durchaus funktionieren, wenn du sie richtig anwendest:

<!--#include virtual="header.shtml?$DOCUMENT_NAME" -->

Um von der Variablensubstitiution Gebrauch zu machen, musst du einfach die deklarierte Variable in doppelten Hochkommata nach dem Schema "$Variablenname" notieren. Das funktioniert mit jeder Variablen, also auch mit den vordefinierten Umgebungsvariablen.

Geht das überhaupt ?

Ja, du musst den Querystring in header.shtml natürlich auch auswerten, entweder in der Art, wie es Thomas schon beschrieben hat, du kannst ihn aber auch einfach nur mittels echo ausgeben lassen:

<!--#echo var="QUERY_STRING" -->

Beachte dabei bitte unbedingt, dass header.shtml ohne head und ohne body-Tags daherkommt, sonst ist dein Ergebnis ungültiges HTML. Ich habe mal eine kleine Demonstration hochgeladen.

Siechfred