Support for server side includes (SSI) is standard with all web accounts. SSI allows you to "piece together" an HTML file on-the-fly using the various tools below. When used creatively, SSI can enable you to manage and edit your site's "look & feel" by changing only a few files. SSI is NOT compatible with Microsoft FrontPage.
Including other files
You can
dynamically include files within your .shtml documents using the following
syntax. These files may be static HTML files, static text files, freeCGI
programs, or custom CGI programs:<!--#include
virtual="/myfile.html" -->
<!--#include
virtual="/cgi-bin/myscript.cgi" -->
The following
useful variables are available from within SSI.
For a complete list of
variables, please use the <!--#printenv
-->
command.
To place a variable within a .shtml file, use the following
code:<!--#echo
var="VARIABLE_NAME" -->
Variable |
Meaning |
HTTP_REFERER |
The page from which the visitor came |
HTTP_USER_AGENT |
The visitor's browser software |
SERVER_SOFTWARE |
The version of the web server |
SERVER_NAME |
Your server name |
REMOTE_ADDR |
The remote IP address of the visitor |
REMOTE_USER |
The username (in a restricted area) |
QUERY_STRING |
Any data following a '?' in the URL |
DOCUMENT_NAME |
The name of this file |
DATE_LOCAL |
The current date (pacific time) |
DATE_GMT |
The current date (GMT) |
LAST_MODIFIED |
"Last modified" date of the current file |
You can show the
size of the current document within your .shtml file:<!--#config
sizefmt="bytes" -->
(for size in
bytes)<!--#fsize
-->
or<!--#config
sizefmt="abbrev" -->
(for size in Kb or
Mb)<!--#fsize
-->
Using SSI, you
can place timestamps within your documents.
First, specify a time format
using the variables below:<!--#config
timefmt="%I:%M:%S%p" -->
Then, print out a time using
echo
(above), i.e.:<!--#echo
var="DATE_LOCAL" -->
<!--#echo
var="LAST_MODIFIED" -->
Code |
Meaning |
%c |
The time and date |
%R |
The time (hh:mm) |
%T |
The time (hh:mm:ss) |
%r |
The time (hh:mm:ss AM) |
%H |
The hour (24-hour clock, 00-23) |
%k |
The hour (24-hour clock, 0-23) |
%I |
The hour (12-hour clock, 01-12) |
%l |
The hour (12-hour clock, 1-12) |
%M |
The minutes (00-59) |
%S |
The seconds (00-59) |
%p |
AM or PM |
%s |
The number of seconds since January 1, 1970 |
%Z |
The time zone |
%D |
The date |
%a |
The abbreviated weekday name (Mon, Tue, ...) |
%A |
The full weekday name (Monday, Tuesday, ...) |
%w |
The weekday number (0-6), 0=Sunday |
%b |
The abbreviated month name (Jan, Feb, ...) |
%B |
The full month name (January, February, ...) |
%m |
The month of the year (01-12) |
%d |
The day of the month (01-31) |
%e |
The day of the month (1-31) |
%y |
The 2-digit year |
%Y |
The 4-digit year |
%C |
The century |
%j |
The day of the year (001-366) |
%W |
The week of the year (00-53) starting Monday |
You can set
variables for use in later echo
statements:<!--#set
var="VARIABLE_NAME" value="VARIABLE_VALUE" -->
You can then print these
variables using the following syntax:<!--#echo
var="VARIABLE_NAME" -->
Only
.shtml
files should include SSI tags. In some
cases, however, you may wish to have the webserver scan .html
files for SSI tags as well. To do so,
add the following line to the .htaccess
file in your document
root:AddType
text/x-server-parsed-html shtml html htm
Where shtml
, html
, and htm
are file types to scan for SSI tags. Use
this with caution; on a busy site, this may lead to noticable performance
degradation.
XSSI (eXtended Server Side Includes)
We use the Apache webserver which supports the XSSI standard (the embedding of conditional statements within SSI). For more information on XSSI, or for the latest supported SSI enhancements, please visit the Apache webserver SSI documentation.