Pi3Web Feature Suite - SSI Test Page

This is a page for testing server side includes.
Return to main features index.

Configuration Directives

The following directives don't yield a result but change the way other directives are formatted, or change the error message.

Directive                               Action

<!--#config errmsg="/** Error! **/"--> Change value given for SSI errors. <!--#config timefmt="%c"--> Set the format of dates and times (in strftime() format). <!--#config sizefmt="%d"--> Set the format of sizes (in printf() format).

Return to SSI index.

Standard Variables

Simple variable substitution can be achieved using the 'echo' directive. This is moderately efficient and should be used over more expensive mechanisms (such as file inclusion and particularly CGI inclusion) where possible.

Directive                               Result

SSI specific variables <!--#echo var="DOCUMENT_NAME"--> <!--#echo var="DOCUMENT_URI"--> <!--#echo var="DATE_GMT"--> <!--#echo var="DATE_LOCAL"--> <!--#echo var="LAST_MODIFIED"--> Variables in common with CGI <!--#echo var="AUTH_TYPE"--> <!--#echo var="CONTENT_LENGTH"--> <!--#echo var="CONTENT_TYPE"--> <!--#echo var="PATH_INFO"--> <!--#echo var="PATH_TRANSLATED"--> <!--#echo var="QUERY_STRING"--> <!--#echo var="REMOTE_ADDR"--> <!--#echo var="REMOTE_HOST"--> <!--#echo var="REMOTE_IDENT"--> <!--#echo var="REMOTE_USER"--> <!--#echo var="REQUEST_METHOD"--> <!--#echo var="SERVER_NAME"--> <!--#echo var="SERVER_PORT"--> <!--#echo var="SERVER_PROTOCOL"--> <!--#echo var="SERVER_SOFTWARE"--> Extra header variables <!--#echo var="HTTP_ACCEPT"--> <!--#echo var="HTTP_USER_AGENT"--> <!--#echo var="REFERER"--> Non-standard additions <!--#echo var="ERROR_MESSAGES"--> <!--#echo var="SERVER_ADMIN"--> Test what happens for an unknown variable <!--#echo var="UNKNOWN"-->

Return to SSI index.


Return to main features index.

File Inclusion

Server side includes allows files may be included into the main file. Other directives to return the filesize (using the format optionally set by the #config sizefmt="..." directive) or the files last modification date (using the format optionally set by the #config timefmt="...").

Directive                                                   Result

<!--#include virtual="/pidocs/features/include.txt"--> <!--#include file="include.txt"--> <!--#fsize virtual="/pidocs/features/include.txt"--> <!--#fsize file="include.txt"--> <!--#flastmod virtual="/pidocs/features/include.txt"--> <!--#flastmod file="include.txt"-->

Return to SSI index.

SSI CGI Execution

The output from CGI programs can also be included with SSI's by using the 'exec' directive.

Directive                                         Action
<!--#exec virtual="/cgi-bin/Echo.exe"-->          
<!--#exec file="../../cgi-bin/Echo.exe"-->        
<!--#exec virtual="/cgi-bin/Hello.exe"-->         
<!--#exec file="../../cgi-bin/Hello.exe"-->       

Return to SSI index.

Miscellanious

We do some miscellanious things also. But they are not documented.

Directive                               Action

Return to SSI index.

Pi3Web Extension Directives

Pi3Expressions may be evaluated inline in server-side includes. This offers greater flexibility over simpler variable expansion (using the #echo directive). However where appropriate, simple variable expressions should be used instead of Pi3Expression because of the increased overhead of parsing and evaluating them.

Directive                                                   Result
<!--#Pi3ext expr="(Process, thread) ($P/$k)"-->             
<!--#Pi3ext expr="Debugging is &if($d,on,off)"-->           

Return to SSI index.
Return to main features index.