Server Side Includes Tutorial
Table Of Contents
The SSI Format
Commands and associated tags
SSI Environment Variables
The timefmt Tag Values
Code Examples
Commands and associated tags
SSI Environment Variables
The timefmt Tag Values
Code Examples
The SSI Format
All directives to the server have the following format. Each command takes different arguments, most only accept one tag at a time.<!--#command tag1="value1" tag2="value2" -->
Commands and associated tags
includeThe include directive inserts the text of a document into the parsed document. Any included file is subject to the usual access control. This command accepts two tags:
virtualis used when the included file is not in the same directory as the web page calling it.fileis used when the included file is located in the same directory (or subdirectory) as the web page calling it.
configThe config directive controls various aspects of the file parsing.
errmsgcontrols 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.timefmtgives the server a new format to use when providing date and time. This is a string compatible with thestrftimelibrary call under most versions of UNIX.sizefmtdetermines the formatting to be used when displaying the size of a file. Valid choices arebytes, for a formatted byte count (formatted as 1,234,567), orabbrevfor an abbreviated version displaying the number of kilobytes or megabytes the file occupies.
echoprints the value of one of the include variables (defined below). The only valid tag to this command isvar, whose value is the name of the variable you wish to echo.fsizeprints the size of the specified file. Valid tags are the same as with theincludecommand. The resulting format of this command is subject to thesizefmtparameter to theconfigcommand.flastmodprints the last modification date of the specified file, subject to the formatting preference given by thetimefmtparameter toconfig. Valid tags are the same as with theincludecommand.execexecutes a given shell command or CGI script. It must be activated to be used. Please note that it is NOT activated on Webserve.cmdwill execute the given string using /bin/sh. All of the variables defined below are defined, and can be used in the command.cgiwill 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.
SSI Environment Variables
DOCUMENT_NAME: The current filename.DOCUMENT_URI: The virtual path to this document (such as /docs/tutorials/foo.shtml).DATE_LOCAL: The current date, local time zone.DATE_GMT: Same as DATE_LOCAL but in Greenwich mean time.LAST_MODIFIED: The last modification date of the current document.HTTP_USER_AGENT: The visitor's browser softwareHTTP_REFERER: The page from which the visitor cameSERVER_SOFTWARE: The version of the web serverSERVER_NAME: Your server nameREMOTE_ADDR: The remote IP address of the the visitor
The timefmt tag Values
The following is the list of possible values for the timefmt tag. Any time and dates are printed subject to the currently configured timefmt.
| Value | Description |
|---|---|
| %a | abbreviated weekday name |
| %A | full weekday name |
| %b | abbreviated month name |
| %B | full month name |
| %C | default date and time format |
| %d | day of month - 01 to 31 |
| %D | date as %m/%d/%y |
| %e | day of month - 1 to 31 |
| %H | hour - 00 to 23 |
| %I | hour - 01 to 12 |
| %j | day of year - 001 to 366 |
| %m | month of year - 01 to 12 |
| %M | minute - 00 to 59 |
| %p | string containing AM or PM |
| %r | time as %I:%M:%S %p |
| %R | time as %H:%M |
| %S | second - 00 to 59 |
| %T | time as %H:%M:%S |
| %y | year within century - 00 to 99 |
| %Y | year as CCYY (4 digits) |
| %Z | timezone name |
Code Examples
1. The following examples all use the syntax: <!--#echo var="Variable" -->
| Variable | Code | Result |
SERVER_NAME |
<!--#echo var="SERVER_NAME" --> |
webmaster.indiana.edu |
HTTP_USER_AGENT |
<!--#echo var="HTTP_USER_AGENT" --> |
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) |
DATE_LOCAL |
<!--#echo var="DATE_LOCAL" --> |
Monday, 12-Sep-2005 14:16:37 EST |
2. Displaying Current Date and Time in different formats:
| Code | Result |
<!--#config timefmt="%A, %d %B %Y"--> Current Date: <!--#echo var="DATE_LOCAL" --> |
Current Date: Monday, 12 September 2005 |
<!--#config timefmt="%a, %d %b %Y, %H:%M:%S"--> Current Time: <!--#echo var="DATE_LOCAL" --> |
Current Time: Mon, 12 Sep 2005, 14:16:37 |
<!--#config timefmt="%D, %r"--> Current Time: <!--#echo var="DATE_LOCAL" --> |
Current Time: 09/12/05, 02:16:37 PM |
3. Displaying Last Modified Date for your web site:
| Code | Result |
<!--#config timefmt="%A, %d %B %Y"--> Last Modified: <!--#echo var="LAST_MODIFIED"--> |
Last Modified: Thursday, 07 October 2004 |