Using
SSI to include the contents of an external file
The most common usage of SSI is to include the contents of
an external file onto a page or across multiple pages on your site. Modify
the external file, and all pages that have this file embedded is also
updated with the modified information. For a site that uses the same header,
navigational menu, or footer across pages, for example, this can save you
countless time and energy. The syntax to embed the contents of an external
file onto the current page is:
<!--#include file="external.htm"-->
<!--#include virtual="/external.htm"-->
Which one to use depends on where "external.htm" is located. The first command assumes that the file is located in the same
directory as the document containing it while the second syntax uses an
absolute reference to "external.htm" starting from your root HTML directory.
Typically you'll want to turn to the second syntax, as the external files
to include most likely will be in a central directory while the pages
including them are scattered across different directories. Here are a couple
of more examples of the second syntax:
<!--#include virtual="/includes/navbar.txt"-->
<!--#include virtual="../navbar.txt"-->
With the first code, I'm telling the server to look for
"navbar.txt" inside the "includes" directory that's directly beneath the
root HTML directory (ie: http://www.mysite.com/includes), while in the
second code, I'm simply telling it to look in the parent directory of the
page that's including "navbar.txt"
As shown, you're also not limited to just including .htm
files, but other static text files such as .txt. You cannot, however,
include .cgi files using this syntax without additional configuration to
your server. Just FYI, both the left menu and
copyright footer on this page and across the site are dynamically included
using SSI using two external files. To update the copyright notice for
example, all I have to do is make one simple modification to one of these
files, and the changes are reflected across the entire site.
|