ssi(8)ssi(8)NAMEssi - server-side-includes CGI program
SYNOPSISssiDESCRIPTION
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 systems.
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:
http://www.acme.com/cgi-bin/ssi
and the url for your document is:
http://www.acme.com/users/wecoyote/doc.html
then the compound URL that gives you the document filtered
through the program would be:
http://www.acme.com/cgi-bin/ssi/users/wecoyote/doc.html
The format description below is adapted from
http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html
INCLUDE FORMAT
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 call.
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 recur
sively, so it can contain server-side-include direc
tives 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 used.
* 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.
VARIABLES
A number of variables are made available to parsed docu
ments. In addition to the CGI variable set, the following
variables are made available:
* DOCUMENT_NAME: The current filename.
* DOCUMENT_URI: The virtual path to this document (such
as /~robm/foo.shtml).
* QUERY_STRING_UNESCAPED: The unescaped version of any
search query the client sent.
* DATE_LOCAL: The current date, local time zone. Sub
ject 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 cur
rent document. Subject to timefmt like the others.
BUGS / DEFICIENCIES
Does not implement the "exec" directive. Actually, I con
sider this neither a bug nor a deficiency, but some may.
SEE ALSOthttpd(8), strftime(3)AUTHOR
Copyright 1995 by Jef Poskanzer <jef@acme.com>. All
rights reserved.
18 October 1995 ssi(8)