Die #if-Direktive ermöglicht die bedingte Ausführung von SSI-Anweisungen und die bedinge Ausgabe von HTML-Code in Abhängigkeit von äußeren Parametern. Diese werden als logischer Ausdruck (expr="...") formuliert. Ergibt die Bewertung dieses Ausdrucks ein "true", so werden die Anweisungen im Anschluß an die #if-Direktive ausgeführt bis zur zwingend erforderlichen #endif-Direktive. Ergibt der Ausdruck dagegen "false", so werden diese Anweisungen zwischen #if und #endif übersprungen. Dies betrifft auch den in diesem Bereich befindlichen HTML-Code!
Als logische Ausdrücke sind dabei Vergleiche von Zeichenketten und Variableninhalten und boolsche Operationen gestattet. Eine leere bzw. nicht definierte Variable gilt dabei als "false". Als zweiter Operand in einem Vergleich ist auch ein regulärer Ausdruck in der "grep"-Notation erlaubt.
Die folgenden SSI-Anweisungen werden einmal mit einer wahren Bedingung (expr="1 = 1") und einmal mit einer unwahren Bedingung (expr="1 < 1") ausgeführt:
vorher <!--#if expr="1 = 1" --> mittendrin <!--#endif --> nachher
| Gleichheit: | = |
| Ungleichheit: | != |
| Größer als: | > |
| Größer oder gleich: | >= |
| Kleiner oder gleich: | <= |
| Kleiner als: | < |
| Negation: | ! |
| AND: | && |
| OR: | || |
| Gruppierung eines Ausdrucks: | (Ausdruck) |
*Falls Sie hier kein Ergebnis sehen, kann das daran liegen, daß der Server kein SSI unterstützt - oder daß Sie die Dateien vielleicht herunter geladen haben und nun lokal ohne einen Webserver aufrufen.