Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
ssi(8)			    System Manager's Manual			ssi(8)

       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  abbrevi-
	       ated  version  displaying  the number of	kilobytes or megabytes
	       the file	occupies.

       *   include: Inserts the	text of	another	document into the parsed docu-
	   ment.   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 be-
	   low).   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 addi-
       tion to the CGI variable	set, the following variables are  made	avail-

       *   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 (C) 1995 by Jef Poskanzer  <>.   All	rights

				18 October 1995				ssi(8)


Want to link to this manual page? Use this URL:

home | help