What are server side includes(SSI)?
Server Side Includes allow users to create documents which provide simple information to clients on the fly. Such information can include the current date, the file's last modification date, and the size or last modification of other files. In its more advanced usage, it can provide a powerful interface to CGI and shell programs.
How do I use SSI?
SSI is by default setup on your Web Hosting Sizzle Account. The common format for accessing SSI is:
<!--#command tag1="value1" tag2="value2" -->
What are the commands for SSI?
Each command takes different arguments, most only accept one tag at a time. Here is a breakdown of the commands and their associated tags
The config directive controls various aspects of the file parsing. There are two valid tags:
errmsg controls what message is sent back to the client if an error includes while parsing the document. When an error occurs, it is logged in the server's error log.
timefmt gives the server a new format to use when providing dates. This is a string compatible with the
strftime library call under most versions of UNIX.
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 will insert the text of a document into the parsed document. Any included file is subject to the usual access control. This command accepts two tags:
virtual gives a virtual path to a document on the server. You must access a normal file this way, you cannot access a CGI script in this fashion. You can, however, access another parsed document.
file gives a pathname relative to the current directory. ../ cannot be used in this pathname, nor can absolute paths be used. As above, you can send other parsed documents, but you cannot send CGI scripts.
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. Valid tags are the same as with the
include command. The resulting format of this command is subject to the
sizefmt parameter to the
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
exec executes a given shell command or CGI script. It must be activated to be used. Valid tags are:
cmd will execute the given string using /bin/sh. All of the variables defined below are defined, and can be used in the command.
cgi will execute the given virtual path to a CGI script and include its output. The server does not perform error checking to make sure your script didn't output horrible things like a GIF, so be careful. It will, however, interpret any URL Location: header and translate it into an HTML anchor.
Can I have an .html file calling SSI?
Yes and No. You can modify the MIME type by creating a .htaccess file to allow for server parsed .html files. Otherwise you will be beter off placing SSI in .shtml files.