Man Linux: Main Page and Category List


       ssi - server-side-includes CGI program




       This  is  an external CGI program that gives you the same functionality
       as the built-in server-side-includes feature in some HTTP daemons.   It
       is written for use with thttpd(8), but should be easy to adapt to other

       To use this program, first make sure it is installed in  your  server’s
       CGI area, and that CGI is enabled.  Then set up your URLs with the path
       to the document you want parsed as the "pathinfo".  That’s the part  of
       the URL that comes after the CGI program name.  For example, if the URL
       to this program is:
       and the url for your document is:
       then the compound URL that gives you the document filtered through  the
       program would be:

       The      format      description      below     is     adapted     from


       All directives are formatted as  SGML  comments  within  the  document.
       This  is  in  case the document should ever find itself in the client’s
       hands unparsed.  Each directive has the following format:
         <!--#command tag1="value1" tag2="value2" -->
       Each command takes different arguments, most only accept one tag  at  a
       time.  Here is a breakdown of the commands and their associated tags:

       *   config:  The  config directive controls various aspects of the file
           parsing.  There are two valid tags:

       o       timefmt: gives the server a new format to  use  when  providing
               dates.   This  is a string compatible with the strftime library

       o       sizefmt: determines the formatting to be used  when  displaying
               the  size  of a file.  Valid choices are bytes, for a formatted
               byte  count  (formatted  as  1,234,567),  or  abbrev   for   an
               abbreviated  version  displaying  the  number  of  kilobytes or
               megabytes the file occupies.

       *   include: Inserts the text  of  another  document  into  the  parsed
           document.   The  inserted  file  is  parsed  recursively, so it can
           contain server-side-include directives too.  This  command  accepts
           two tags:

       o       virtual: Gives a virtual path to a document on the server.

       o       file:  Gives  a pathname relative to the current directory. ../
               cannot be used in this pathname,  nor  can  absolute  paths  be

       *   echo:  Prints  the  value  of one of the include variables (defined
           below).  Any dates are printed subject to the currently  configured
           timefmt.  The only valid tag to this command is var, whose value is
           the name of the variable you wish to echo.

       *   fsize: prints the size  of  the  specified  file,  subject  to  the
           sizefmt  parameter  to the config command.  Valid tags are the same
           as with the include command.

       *   flastmod: prints the last modification date of the specified  file,
           subject to the formatting preference given by the timefmt parameter
           to config.  Valid tags are the same as with the include command.


       A number of variables are  made  available  to  parsed  documents.   In
       addition  to  the  CGI  variable  set, the following variables are made

       *   DOCUMENT_NAME: The current filename.

       *   DOCUMENT_URI:  The  virtual  path  to  this   document   (such   as

       *   QUERY_STRING_UNESCAPED:  The  unescaped version of any search query
           the client sent.

       *   DATE_LOCAL: The current date, local  time  zone.   Subject  to  the
           timefmt parameter to the config command.

       *   DATE_GMT: Same as DATE_LOCAL but in Greenwich mean time.

       *   LAST_MODIFIED:  The last modification date of the current document.
           Subject to timefmt like the others.


       Does not implement the "exec" directive.   Actually,  I  consider  this
       neither a bug nor a deficiency, but some may.


       thttpd(8), strftime(3)


       Copyright  ©  1995  by  Jef  Poskanzer <>.  All rights

                                18 October 1995                         ssi(8)