- How do I use
SSI (server-side includes)?
- SSI
Test Program.
- What
is not allowed with SSI?
1.
How do I use SSI (server-side includes)?
The
simplest example of server-parsed HTML is to have a
file "foo.shtml" containing this text:
Line
one
<!--#exec cgi="mycgi.cgi" --><P>
Line three
And
then have a file "mycgi.cgi" that contains,
on Unix:
#!/usr/bin/perl
print
"Content-type: text/htmlnn";
print "Line Two";
And when you access "foo.shtml",
it will output:
Line
one
Line two
Line three
If your include directive is <!--#exec cgi="..."
-->, then the cgi program you run must output a standard
CGI header (Content-type: text/html)
Any file named foo.shtml will be parsed
automatically by Apache on our servers.
Do not put any spaces before the '#' character in
your include directives; if you have "<!-- #exec"
instead of "<!--#exec", the line will be
ignored.
Server-side
includes in "custom trailers" will not work,
since custom trailers are appended to the output of
your web pages after all other processing has been done
on them. Any server-side includes that you put into
your custom trailers will be sent directly to the browser
without being parsed.
More
Help for using SSI can be found at:
http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html
2. SSI Test
Program.
Simple SSI program to test if SSIs are
set up to work on someone's domain or server:
#<HTML>
#<Head><Title>I was modified</Title></Head>
#<Body>
#<H1>I was modified</H1>
#<P>I was last modified on
#<!--#echo var="LAST_MODIFIED" -->
#</P>
#</Body>
#</HMTL>
Save this as something like test.shtml
in problemdomain.com-www and call it from a browser.
If LAST_MODIFIED is replaced by the file creation
date and time, SSIs work.
Source:
"Server Side Includes" by Reuven M. Lerner
(Linux Journal, June 1998).
3. What is
not allowed with SSI?