+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-<title>Apache Tutorial: Introduction to Server Side Includes</title>
-<link rev="made" href="mailto:rbowen@rcbowen.com">
-</head>
-<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
-alink="#FF0000">
-<!--#include virtual="header.html" -->
-<h1 align="CENTER">Apache Tutorial: Introduction to Server Side
-Includes</h1>
-
-<a name="__index__"></a> <!-- INDEX BEGIN -->
-
-
-<ul>
-<li><a href=
-"#apachetutorial:introductiontoserversideincludes">Apache
-Tutorial: Introduction to Server Side Includes</a></li>
-
-<li><a href="#whataressi">What are SSI?</a></li>
-
-<li><a href="#configuringyourservertopermitssi">Configuring your
-server to permit SSI</a></li>
-
-<li><a href="#basicssidirectives">Basic SSI directives</a>
-
-<ul>
- <li><a href="#today'sdate">Today's date</a></li>
-
- <li><a href="#modificationdateofthefile">Modification date of the
-file</a></li>
-
- <li><a href="#includingtheresultsofacgiprogram">Including the
-results of a CGI program</a></li>
-</ul>
-</li>
-
-<li><a href="#additionalexamples">Additional examples</a>
-
-<ul>
-<li><a href="#whenwasthisdocumentmodified">When was this document
-modified?</a></li>
-
-<li><a href="#includingastandardfooter">Including a standard
-footer</a></li>
-
-<li><a href="#whatelsecaniconfig">What else can I config?</a></li>
-
-<li><a href="#executingcommands">Executing commands</a></li>
-</ul>
-</li>
-
-<li><a href="#advancedssitechniques">Advanced SSI techniques</a>
-
-<ul>
-<li><a href="#settingvariables">Setting variables</a></li>
-
-<li><a href="#conditionalexpressions">Conditional expressions</a></li>
-</ul>
-</li>
-
-<li><a href="#conclusion">Conclusion</a></li>
-</ul>
-
-<!-- INDEX END -->
-<hr>
-<h2><a name=
-"apachetutorial:introductiontoserversideincludes">Apache
-Tutorial: Introduction to Server Side Includes</a></h2>
-
-<table border="1">
-<tr>
-<td valign="top"><strong>Related Modules</strong><br>
-<br>
- <a href="../mod/mod_include.html">mod_include</a><br>
-<a href="../mod/mod_cgi.html">mod_cgi</a><br>
-<a href="../mod/mod_expires.html">mod_expires</a><br>
- </td>
-<td valign="top"><strong>Related Directives</strong><br>
-<br>
- <a href="../mod/core.html#options">Options</a><br>
-<a href="../mod/mod_include.html#xbithack">XBitHack</a><br>
-<a href="../mod/mod_mime.html#addtype">AddType</a><br>
-<a href="../mod/mod_mime.html#addhandler">AddHandler</a><br>
-<a href=
-"../mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br>
-
- </td>
-</tr>
-</table>
-
-<p>This HOWTO first appeared in Apache Today
-(http://www.apachetoday.com/) as a series of three articles. They
-appear here by arrangement with ApacheToday and Internet.com.</p>
-
-<p>This article deals with Server Side Includes, usually called simply
-SSI. In this article, I'll talk about configuring your server to permit
-SSI, and introduce some basic SSI techniques for adding dynamic content
-to your existing HTML pages.</p>
-
-<p>In the latter part of the article, we'll talk about some of the
-somewhat more advanced things that can be done with SSI, such as
-conditional statements in your SSI directives.</p>
-
-<hr>
-<h2><a name="whataressi">What are SSI?</a></h2>
-
-<p>SSI (Server Side Includes) are directives that are placed in HTML
-pages, and evaluated on the server while the pages are being served.
-They let you add dynamically generated content to an existing HTML
-page, without having to serve the entire page via a CGI program, or
-other dynamic technology.</p>
-
-<p>The decision of when to use SSI, and when to have your page entirely
-generated by some program, is usually a matter of how much of the page
-is static, and how much needs to be recalculated every time the page is
-served. SSI is a great way to add small pieces of information, such as
-the current time. But if a majority of your page is being generated at
-the time that it is served, you need to look for some other
-solution.</p>
-
-<hr>
-<h2><a name="configuringyourservertopermitssi">Configuring your
-server to permit SSI</a></h2>
-
-<p>To permit SSI on your server, you must have the following directive
-either in your <code>httpd.conf</code> file, or in a
-<code>.htaccess</code> file:</p>
-
-<pre>
- Options +Includes
-</pre>
-
-<p>This tells Apache that you want to permit files to be parsed for SSI
-directives.</p>
-
-<p>Not just any file is parsed for SSI directives. You have to tell
-Apache which files should be parsed. There are two ways to do this. You
-can tell Apache to parse any file with a particular file extension,
-such as <code>.shtml</code>, with the following directives:</p>
-
-<pre>
- AddType text/html .shtml
- <FilesMatch "\.shtml[.$]">
- SetOutputFilter INCLUDES<br>
- </FilesMatch>
-</pre>
-
-<p>One disadvantage to this approach is that if you wanted to add SSI
-directives to an existing page, you would have to change the name of
-that page, and all links to that page, in order to give it a
-<code>.shtml</code> extension, so that those directives would be
-executed.</p>
-
-<p>The other method is to use the <code>XBitHack</code> directive:</p>
-
-<pre>
- XBitHack on
-</pre>
-
-<p><code>XBitHack</code> tells Apache to parse files for SSI directives
-if they have the execute bit set. So, to add SSI directives to an
-existing page, rather than having to change the file name, you would
-just need to make the file executable using <code>chmod</code>.</p>
-
-<pre>
- chmod +x pagename.html
-</pre>
-
-<p>A brief comment about what not to do. You'll occasionally see people
-recommending that you just tell Apache to parse all <code>.html</code>
-files for SSI, so that you don't have to mess with <code>.shtml</code>
-file names. These folks have perhaps not heard about
-<code>XBitHack</code>. The thing to keep in mind is that, by doing
-this, you're requiring that Apache read through every single file that
-it sends out to clients, even if they don't contain any SSI directives.
-This can slow things down quite a bit, and is not a good idea.</p>
-
-<p>Of course, on Windows, there is no such thing as an execute bit to
-set, so that limits your options a little.</p>
-
-<p>In its default configuration, Apache does not send the last modified
-date or content length HTTP headers on SSI pages, because these values are
-difficult to calculate for dynamic content. This can prevent your
-document from being cached, and result in slower perceived client
-performance. There are two ways to solve this:</p>
-
-<ol>
-
-<li>Use the <code>XBitHack Full</code> configuration. This tells
-Apache to determine the last modified date by looking only at the date
-of the originally requested file, ignoring the modification date of
-any included files. </li>
-
-<li>Use the directives provided by <a
-href="../mod/mod_expires.html">mod_expires</a> to set an explicit
-expiration time on your files, thereby letting browsers and proxies
-know that it is acceptable to cache them. </li>
-
-</ol>
-
-
-<hr>
-<h2><a name="basicssidirectives">Basic SSI directives</a></h2>
-
-<p>SSI directives have the following syntax:</p>
-
-<pre>
- <!--#element attribute=value attribute=value ... -->
-</pre>
-
-<p>It is formatted like an HTML comment, so if you don't have SSI
-correctly enabled, the browser will ignore it, but it will still be
-visible in the HTML source. If you have SSI correctly configured, the
-directive will be replaced with its results.</p>
-
-<p>The element can be one of a number of things, and we'll talk some
-more about most of these in the next installment of this series. For
-now, here are some examples of what you can do with SSI</p>
-
-<h3><a name="today'sdate">Today's date</a></h3>
-
-<pre>
- <!--#echo var="DATE_LOCAL" -->
-</pre>
-
-<p>The <code>echo</code> element just spits out the value of a
-variable. There are a number of standard variables, which include the
-whole set of environment variables that are available to CGI programs.
-Also, you can define your own variables with the <code>set</code>
-element.</p>
-
-<p>If you don't like the format in which the date gets printed, you can
-use the <code>config</code> element, with a <code>timefmt</code>
-attribute, to modify that formatting.</p>
-
-<pre>
- <!--#config timefmt="%A %B %d, %Y" -->
- Today is <!--#echo var="DATE_LOCAL" -->
-</pre>
-
-<h3><a name="modificationdateofthefile">Modification date of the
-file</a></h3>
-
-<pre>
- This document last modified <!--#flastmod file="index.html" -->
-</pre>
-
-<p>This element is also subject to <code>timefmt</code> format
-configurations.</p>
-
-<h3><a name="includingtheresultsofacgiprogram">Including the
-results of a CGI program</a></h3>
-
-<p>This is one of the more common uses of SSI - to output the results
-of a CGI program, such as everybody's favorite, a ``hit counter.''</p>
-
-<pre>
- <!--#include virtual="/cgi-bin/counter.pl" -->
-</pre>
-
-<hr>
-<h2><a name="additionalexamples">Additional examples</a></h2>
-
-<p>Following are some specific examples of things you can do in your
-HTML documents with SSI.</p>
-
-<hr>
-<h2><a name="whenwasthisdocumentmodified">When was this document
-modified?</a></h2>
-
-<p>Earlier, we mentioned that you could use SSI to inform the user when
-the document was most recently modified. However, the actual method for
-doing that was left somewhat in question. The following code, placed in
-your HTML document, will put such a time stamp on your page. Of course,
-you will have to have SSI correctly enabled, as discussed above.</p>
-
-<pre>
- <!--#config timefmt="%A %B %d, %Y" -->
- This file last modified <!--#flastmod file="ssi.shtml" -->
-</pre>
-
-<p>Of course, you will need to replace the <code>ssi.shtml</code> with
-the actual name of the file that you're referring to. This can be
-inconvenient if you're just looking for a generic piece of code that
-you can paste into any file, so you probably want to use the
-<code>LAST_MODIFIED</code> variable instead:</p>
-
-<pre>
- <!--#config timefmt="%D" -->
- This file last modified <!--#echo var="LAST_MODIFIED" -->
-</pre>
-
-<p>For more details on the <code>timefmt</code> format, go to your
-favorite search site and look for <code>ctime</code>. The syntax is the
-same.</p>
-
-<hr>
-<h2><a name="includingastandardfooter">Including a standard
-footer</a></h2>
-
-<p>If you are managing any site that is more than a few pages, you may
-find that making changes to all those pages can be a real pain,
-particularly if you are trying to maintain some kind of standard look
-across all those pages.</p>
-
-<p>Using an include file for a header and/or a footer can reduce the
-burden of these updates. You just have to make one footer file, and
-then include it into each page with the <code>include</code> SSI
-command. The <code>include</code> element can determine what file to
-include with either the <code>file</code> attribute, or the
-<code>virtual</code> attribute. The <code>file</code> attribute is a
-file path, <em>relative to the current directory</em>. That means that
-it cannot be an absolute file path (starting with /), nor can it
-contain ../ as part of that path. The <code>virtual</code> attribute is
-probably more useful, and should specify a URL relative to the document
-being served. It can start with a /, but must be on the same server as
-the file being served.</p>
-
-<pre>
- <!--#include virtual="/footer.html" -->
-</pre>
-
-<p>I'll frequently combine the last two things, putting a
-<code>LAST_MODIFIED</code> directive inside a footer file to be
-included. SSI directives can be contained in the included file, and
-includes can be nested - that is, the included file can include another
-file, and so on.</p>
-
-<hr>
-<h2><a name="whatelsecaniconfig">What else can I config?</a></h2>
-
-<p>In addition to being able to <code>config</code> the time format,
-you can also <code>config</code> two other things.</p>
-
-<p>Usually, when something goes wrong with your SSI directive, you get
-the message</p>
-
-<pre>
- [an error occurred while processing this directive]
-</pre>
-
-<p>If you want to change that message to something else, you can do so
-with the <code>errmsg</code> attribute to the <code>config</code>
-element:</p>
-
-<pre>
- <!--#config errmsg="[It appears that you don't know how to use SSI]" -->
-</pre>
-
-<p>Hopefully, end users will never see this message, because you will
-have resolved all the problems with your SSI directives before your
-site goes live. (Right?)</p>
-
-<p>And you can <code>config</code> the format in which file sizes are
-returned with the <code>sizefmt</code> attribute. You can specify
-<code>bytes</code> for a full count in bytes, or <code>abbrev</code>
-for an abbreviated number in Kb or Mb, as appropriate.</p>
-
-<hr>
-<h2><a name="executingcommands">Executing commands</a></h2>
-
-<p>I expect that I'll have an article some time in the coming months
-about using SSI with small CGI programs. For now, here's something else
-that you can do with the <code>exec</code> element. You can actually
-have SSI execute a command using the shell (<code>/bin/sh</code>, to be
-precise - or the DOS shell, if you're on Win32). The following, for
-example, will give you a directory listing.</p>
-
-<pre>
- <pre>
- <!--#exec cmd="ls" -->
- </pre>
-</pre>
-
-<p>or, on Windows</p>
-
-<pre>
- <pre>
- <!--#exec cmd="dir" -->
- </pre>
-</pre>
-
-<p>You might notice some strange formatting with this directive on
-Windows, because the output from <code>dir</code> contains the string
-``<<code>dir</code>>'' in it, which confuses browsers.</p>
-
-<p>Note that this feature is exceedingly dangerous, as it will execute
-whatever code happens to be embedded in the <code>exec</code> tag. If
-you have any situation where users can edit content on your web pages,
-such as with a ``guestbook'', for example, make sure that you have this
-feature disabled. You can allow SSI, but not the <code>exec</code>
-feature, with the <code>IncludesNOEXEC</code> argument to the
-<code>Options</code> directive.</p>
-
-<hr>
-<h2><a name="advancedssitechniques">Advanced SSI techniques</a></h2>
-
-<p>In addition to spitting out content, Apache SSI gives you the option
-of setting variables, and using those variables in comparisons and
-conditionals.</p>
-
-<h3><a name="caveat">Caveat</a></h3>
-
-<p>Most of the features discussed in this article are only available to
-you if you are running Apache 1.2 or later. Of course, if you are not
-running Apache 1.2 or later, you need to upgrade immediately, if not
-sooner. Go on. Do it now. We'll wait.</p>
-
-<hr>
-<h2><a name="settingvariables">Setting variables</a></h2>
-
-<p>Using the <code>set</code> directive, you can set variables for
-later use. We'll need this later in the discussion, so we'll talk about
-it here. The syntax of this is as follows:</p>
-
-<pre>
- <!--#set var="name" value="Rich" -->
-</pre>
-
-<p>In addition to merely setting values literally like that, you can
-use any other variable, including, for example, environment variables,
-or some of the variables we discussed in the last article (like
-<code>LAST_MODIFIED</code>, for example) to give values to your
-variables. You will specify that something is a variable, rather than a
-literal string, by using the dollar sign ($) before the name of the
-variable.</p>
-
-<pre>
- <!--#set var="modified" value="$LAST_MODIFIED" -->
-</pre>
-
-<p>To put a literal dollar sign into the value of your variable, you
-need to escape the dollar sign with a backslash.</p>
-
-<pre>
- <!--#set var="cost" value="\$100" -->
-</pre>
-
-<p>Finally, if you want to put a variable in the midst of a longer
-string, and there's a chance that the name of the variable will run up
-against some other characters, and thus be confused with those
-characters, you can place the name of the variable in braces, to remove
-this confusion. (It's hard to come up with a really good example of
-this, but hopefully you'll get the point.)</p>
-
-<pre>
- <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
-</pre>
-
-<hr>
-<h2><a name="conditionalexpressions">Conditional expressions</a></h2>
-
-<p>Now that we have variables, and are able to set and compare their
-values, we can use them to express conditionals. This lets SSI be a
-tiny programming language of sorts. <code>mod_include</code> provides
-an <code>if</code>, <code>elif</code>, <code>else</code>,
-<code>endif</code> structure for building conditional statements. This
-allows you to effectively generate multiple logical pages out of one
-actual page.</p>
-
-<p>The structure of this conditional construct is:</p>
-
-<pre>
- <!--#if expr="test_condition" -->
- <!--#elif expr="test_condition" -->
- <!--#else -->
- <!--#endif -->
-</pre>
-
-<p>A <em>test_condition</em> can be any sort of logical comparison -
-either comparing values to one another, or testing the ``truth'' of a
-particular value. (A given string is true if it is nonempty.) For a
-full list of the comparison operators available to you, see the
-<code>mod_include</code> documentation. Here are some examples of how
-one might use this construct.</p>
-
-<p>In your configuration file, you could put the following line:</p>
-
-<pre>
- BrowserMatchNoCase macintosh Mac
- BrowserMatchNoCase MSIE InternetExplorer
-</pre>
-
-<p>This will set environment variables ``Mac'' and ``InternetExplorer''
-to true, if the client is running Internet Explorer on a Macintosh.</p>
-
-<p>Then, in your SSI-enabled document, you might do the following:</p>
-
-<pre>
- <!--#if expr="${Mac} && ${InternetExplorer}" -->
- Apologetic text goes here
- <!--#else -->
- Cool JavaScript code goes here
- <!--#endif -->
-</pre>
-
-<p>Not that I have anything against IE on Macs - I just struggled for a
-few hours last week trying to get some JavaScript working on IE on a
-Mac, when it was working everywhere else. The above was the interim
-workaround.</p>
-
-<p>Any other variable (either ones that you define, or normal
-environment variables) can be used in conditional statements. With
-Apache's ability to set environment variables with the
-<code>SetEnvIf</code> directives, and other related directives, this
-functionality can let you do some pretty involved dynamic stuff without
-ever resorting to CGI.</p>
-
-<hr>
-<h2><a name="conclusion">Conclusion</a></h2>
-
-<p>SSI is certainly not a replacement for CGI, or other technologies
-used for generating dynamic web pages. But it is a great way to add
-small amounts of dynamic content to pages, without doing a lot of extra
-work.</p>
-</body>
-</html>
-
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<title>Apache \e$B%A%e!<%H%j%"%k\e(B: Server Side Includes \e$BF~Lg\e(B</title>
+<!-- link rev="made" href="mailto:rbowen@rcbowen.com" -->
+</head>
+<!-- English revision: 1.7 -->
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080"
+alink="#FF0000">
+<!--#include virtual="header.html" -->
+<h1 align="CENTER">Apache \e$B%A%e!<%H%j%"%k\e(B: Server Side Includes \e$BF~Lg\e(B</h1>
+
+<a name="__index__"></a> <!-- INDEX BEGIN -->
+
+
+<ul>
+<li><a href="#apachetutorial:introductiontoserversideincludes">Apache
+ \e$B%A%e!<%H%j%"%k\e(B: Server Side Includes \e$BF~Lg\e(B</a></li>
+
+<li><a href="#whataressi">SSI \e$B$H$O\e(B?</a></li>
+
+<li><a href="#configuringyourservertopermitssi">SSI \e$B$r5v2D$9$k$?$a$N\e(B
+\e$B%5!<%P$N@_Dj\e(B</a></li>
+
+<li><a href="#basicssidirectives">\e$B4pK\E*$J\e(B SSI \e$B%G%#%l%/%F%#%V\e(B</a>
+
+<ul>
+ <li><a href="#today'sdate">\e$B:#F|$NF|IU\e(B</a></li>
+
+ <li><a href="#modificationdateofthefile">\e$B%U%!%$%k$NJQ99F|\e(B</a></li>
+
+ <li><a href="#includingtheresultsofacgiprogram">CGI \e$B%W%m%0%i%`$N7k2L$r\e(B
+\e$B<h$j9~$`\e(B</a></li>
+</ul>
+</li>
+
+<li><a href="#additionalexamples">\e$BDI2C$NNc\e(B</a>
+
+<ul>
+<li><a href="#whenwasthisdocumentmodified">\e$B$$$D$3$N%I%-%e%a%s%H$O\e(B
+\e$B=$@5$5$l$?$N$+\e(B?</a></li>
+
+<li><a href="#includingastandardfooter">\e$BI8=`$N%U%C%?$rA^F~$9$k\e(B</a></li>
+
+<li><a href="#whatelsecaniconfig">\e$BB>$K2?$,@_Dj$G$-$k$N$+\e(B?</a></li>
+
+<li><a href="#executingcommands">\e$B%3%^%s%I$N<B9T\e(B</a></li>
+</ul>
+</li>
+
+<li><a href="#advancedssitechniques">\e$B9bEY$J\e(B SSI \e$B%F%/%K%C%/\e(B</a>
+
+<ul>
+<li><a href="#settingvariables">\e$BJQ?t$r@_Dj$9$k\e(B</a></li>
+
+<li><a href="#conditionalexpressions">\e$B>r7o<0\e(B</a></li>
+</ul>
+</li>
+
+<li><a href="#conclusion">\e$B=*$o$j$K\e(B</a></li>
+</ul>
+
+<!-- INDEX END -->
+<hr>
+<h2><a name=
+"apachetutorial:introductiontoserversideincludes">Apache
+\e$B%A%e!<%H%j%"%k\e(B: Server Side Includes \e$BF~Lg\e(B</a></h2>
+
+<table border="1">
+<tr>
+<td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br>
+<br>
+ <a href="../mod/mod_include.html">mod_include</a><br>
+<a href="../mod/mod_cgi.html">mod_cgi</a><br>
+<a href="../mod/mod_expires.html">mod_expires</a><br>
+ </td>
+<td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br>
+<br>
+ <a href="../mod/core.html#options">Options</a><br>
+<a href="../mod/mod_include.html#xbithack">XBitHack</a><br>
+<a href="../mod/mod_mime.html#addtype">AddType</a><br>
+<a href="../mod/mod_mime.html#addhandler">AddHandler</a><br>
+<a href=
+"../mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br>
+
+ </td>
+</tr>
+</table>
+
+<p>\e$B$3$NJ8=q$O:G=i!"\e(BApache Today (http://www.apachetoday.com/) \e$B$K;02s$NO":\5-;v$H$7$F7G:\$5$l$^$7$?!#\e(B
+\e$B$3$3$G$O!"\e(BApcheToday \e$B$H\e(B Internet.com \e$B$H$N6(Dj$K$h$j:\$;$F$$$^$9!#\e(B</p>
+
+<p>\e$B$3$N5-;v$O!"DL>o$OC1$K\e(B SSI \e$B$H8F$P$l$k\e(B Server Side Includes \e$B$r\e(B
+\e$B07$$$^$9!#$3$N5-;v$K$*$$$F$O!"%5!<%P$G$N\e(B SSI \e$B$r5v2D$9$k$?$a$N@_Dj$H!"\e(B
+\e$B8=:_$N\e(B HTML \e$B%Z!<%8$KF0E*$J%3%s%F%s%D$r2C$($k$?$a$N$$$/$D$+$N4pK\E*$J\e(B
+SSI \e$B5;=Q$r>R2p$7$^$9!#\e(B</p>
+
+<p>\e$B5-;v$N8eH>$G$O!"\e(BSSI \e$B%G%#%l%/%F%#%V$G\e(B
+SSI \e$B$H6&$K<B9T$9$k$3$H$,$G$-$k>r7oJ8$N$h$&$J4vJ,9bEY$J;vJA$K\e(B
+\e$B$D$$$F=R$Y$F$$$^$9!#\e(B</p>
+
+<hr>
+<h2><a name="whataressi">SSI \e$B$H$O\e(B?</a></h2>
+
+<p>SSI (Server Side Includes) \e$B$O!"\e(BHTML \e$B%Z!<%8Cf$KG[CV$5$l$k%G%#%l%/%F%#%V$G$"$j!"\e(B
+\e$B%5!<%P$G%Z!<%8$rDs6!$9$k;~$KI>2A$5$l$^$9!#\e(B
+SSI \e$B$O!"\e(BCGI \e$B%W%m%0%i%`$d$=$NB>$NF0E*$J5;=Q$GA4$F$N%Z!<%8$rDs6!\e(B
+\e$B$;$:$K!"F0E*$K@8@.$5$l$?%3%s%F%s%D$r8=:_$N\e(B HTML \e$B%Z!<%8$K\e(B
+\e$B2C$($^$9!#\e(B</p>
+
+<p>\e$B$I$&$$$&>l9g$K\e(B SSI \e$B$r;H$$!"$I$&$$$&>l9g$K%W%m%0%i%`$G%Z!<%8$r40A4$K@8@.$9$k$+\e(B
+\e$B$O!"%Z!<%8$N$&$A$I$NDxEY$,@EE*$G$"$j!"%Z!<%8$,Ds6!$5$l$k$?$S$K\e(B
+\e$B:F7W;;$9$kI,MW$,$I$NDxEY$"$k$+$GDL>o$O7hDj$7$^$9!#\e(BSSI \e$B$O8=:_;~9o$N$h$&$J\e(B
+\e$B>.$5$$>pJs$r2C$($k$K$O$&$C$F$D$1$NJ}K!$G$9!#\e(B
+\e$B$7$+$7!"$=$N%Z!<%8$N$[$H$s$I$NItJ,$,Ds6!;~$K@8@.$5$l$k>l9g$O!"\e(B
+\e$BB>$NJ}K!$rC5$9I,MW$,$"$j$^$9!#\e(B</p>
+
+<hr>
+<h2><a name="configuringyourservertopermitssi">SSI \e$B$r5v2D$9$k$?$a$N\e(B
+\e$B%5!<%P$N@_Dj\e(B</a></h2>
+
+<p>\e$B%5!<%P$G\e(B SSI \e$B5v2D$9$k$K$O!"\e(B<code>httpd.conf</code> \e$B%U%!%$%k\e(B
+\e$B$^$?$O\e(B <code>.htaccess</code> \e$B%U%!%$%k$K<!$N%G%#%l%/%F%#%V$r;XDj$9$kI,MW$,$"$j$^$9\e(B:</p>
+
+<pre>
+ Options +Includes
+</pre>
+
+<p>\e$B$3$N;XDj$O!"%U%!%$%k$r\e(B SSI \e$B%G%#%l%/%F%#%V$G2r@O$5$;$k$3$H$r5v2D$9$k\e(B
+\e$B$H$$$&$3$H$r\e(B Apache \e$B$KEA$($^$9!#\e(B</p>
+
+<p>\e$BA4$F$N%U%!%$%k$,\e(B SSI \e$B%G%#%l%/%F%#%V$G2r@O$5$l$k$H$$$&$o$1$G$O$"$j$^$;$s!#\e(B
+\e$B$I$N%U%!%$%k$,2r@O$5$l$k$+$r\e(B Apache \e$B$KEA$($kI,MW$,$"$j$^$9!#$3$l$r\e(B
+\e$B9T$J$&$K$OFs$DJ}K!$,$"$j$^$9!#<!$N%G%#%l%/%F%#%V$r;H$&$3$H$G!"\e(B
+\e$BNc$($P\e(B <code>.shtml</code> \e$B$N$h$&$JFCJL$J%U%!%$%k3HD%;R$r;}$D%U%!%$%k$r\e(B
+\e$B2r@O$9$k$h$&\e(B Apache \e$B$KEA$($k$3$H$,$G$-$^$9\e(B:</p>
+
+<pre>
+ AddType text/html .shtml
+ AddHandler server-parsed .shtml
+</pre>
+
+<p>\e$B$3$NJ}K!$N7gE@$O!"$b$78=:_$N%Z!<%8$K\e(B SSI
+\e$B%G%#%l%/%F%#%V$r2C$($?$$>l9g!"$=$l$i$N%G%#%l%/%F%#%V$,<B9T$5$l$k\e(B
+\e$B$h$&$K\e(B <code>.shtml</code> \e$B3HD%;R$K$9$k$?$a!"$=$N%Z!<%8$NL>A0$H!"\e(B
+\e$B$=$N%Z!<%8$X$NA4$F$N%j%s%/$rJQ99$7$J$1$l$P$J$i$J$$$3$H$G$9!#\e(B</p>
+
+<p>\e$B$b$&0l$D$NJ}K!$O!"\e(B<code>XBitHack</code> \e$B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G$9\e(B:</p>
+
+<pre>
+ XBitHack on
+</pre>
+
+<p><code>XBitHack</code> \e$B$O!"%U%!%$%k$N<B9T%S%C%H$,N)$C$F$$$k>l9g!"\e(B
+SSI \e$B%G%#%l%/%F%#%V$K$h$j2r@O$9$k$3$H$r\e(B Apache \e$B$KEA$($^$9!#=>$C$F!"\e(B
+SSI \e$B%G%#%l%/%F%#%V$r8=:_$N%Z!<%8$K2C$($k$?$a$K$O!"%U%!%$%kL>$rJQ99$7$J$/$F$b$h$/!"\e(B
+\e$BC1$K\e(B <code>chmod</code> \e$B$r;HMQ$7$F%U%!%$%k$r<B9T2DG=$K$9$k\e(B
+\e$B$@$1$G:Q$_$^$9!#\e(B</p>
+
+<pre>
+ chmod +x pagename.html
+</pre>
+
+<p>\e$B9T$J$&$Y$-$G$O$J$$$3$H$K4X$9$kC;$$%3%a%s%H!#;~!9C/$+$,!"\e(B
+\e$BA4$F$N\e(B <code>.html</code> \e$B%U%!%$%k$r\e(B SSI \e$B$G2r@O$9$k$h$&\e(B Apache \e$B$KEA$($l$P!"\e(B
+\e$B$o$6$o$6\e(B <code>.shtml</code> \e$B$H$$$&%U%!%$%kL>$K$9$kI,MW$,$J$$$H$$$C$F\e(B
+\e$BA&$a$k$N$r8+$k$3$H$G$7$g$&!#$3$&$$$&?M$?$A$O!"$*$=$i$/\e(B <code>XBitHack</code>
+\e$B$K$D$$$FJ9$$$?$3$H$,$J$$$N$G$7$g$&!#$3$NJ}K!$K$D$$$FCm0U$9$k$3$H$O!"\e(B
+\e$B$?$H$(\e(B SSI \e$B%G%#%l%/%F%#%V$rA4$/4^$^$J$$>l9g$G$b!"\e(BApache \e$B$,%/%i%$%"%s%H$K\e(B
+\e$BAw$kA4$F$N%U%!%$%k$r:G8e$^$GFI$_9~$^$;$k$3$H$K$J$j$^$9!#\e(B
+\e$B$3$NJ}K!$O$+$J$j=hM}$rCY$/$9$k$b$N$G$"$j!"NI$/$J$$%"%$%G%"$G$9!#\e(B</p>
+
+<p>\e$B$b$A$m$s!"\e(BWindows \e$B$G$O$=$N$h$&$J<B9T%S%C%H$r%;%C%H$9$k$h$&$J$b$N$O\e(B
+\e$B$"$j$^$;$s$N$G%*%W%7%g%s$,>/$7@)8B$5$l$F$$$^$9!#\e(B</p>
+
+<p>\e$B%G%U%)%k%H$N@_Dj$G$O!"\e(BApache \e$B$O\e(B SSI \e$B%Z!<%8$K$D$$$F:G=*JQ99;~9o$d\e(B
+\e$B%3%s%F%s%D$ND9$5$r\e(B HTTP \e$B%X%C%@$KAw$j$^$;$s!#\e(B
+\e$BF0E*$J%3%s%F%s%D$G$"$k$?$a!"$=$l$i$NCM$r7W;;$9$k$N$,Fq$7$$$+$i$G$9!#\e(B
+\e$B$3$N$?$a%I%-%e%a%s%H$,\e(B
+\e$B%-%c%C%7%e$5$l$J$/$J$j!"7k2L$H$7$F%/%i%$%"%s%H$N@-G=$,\e(B
+\e$BCY$/$J$C$?$h$&$K46$8$5$;$k$3$H$K$J$j$^$9!#\e(B
+\e$B$3$l$r2r7h$9$kJ}K!$,Fs$D$"$j$^$9\e(B:</p>
+
+<ol>
+
+<li><code>XBitHack Full</code> \e$B@_Dj$r;HMQ$9$k!#$3$N@_Dj$K$h$j!"$b$H$b$HMW5a$5$l$?\e(B
+\e$B%U%!%$%k$N;~9o$r;2>H$7!"FI$_9~$^$l$k%U%!%$%k$NJQ99;~9o$r\e(B
+\e$BL5;k$7$F:G=*JQ99;~9o$r7hDj$9$k$h$&\e(B Apache \e$B$KEA$($^$9!#\e(B</li>
+
+<li><a href="../mod/mod_expires.html">mod_expires</a> \e$B$GDs6!$5$l$F$$$k%G%#%l%/%F%#%V$r;HMQ$7$F!"\e(B
+\e$B%U%!%$%k$,L58z$K$J$k;~9o$rL@<($7$^$9!#\e(B
+\e$B$3$l$K$h$j!"%V%i%&%6$H%W%m%-%7$K%-%c%C%7%e$,M-8z$G$"$k$3$H$rDLCN$7$^$9!#\e(B</li>
+
+</ol>
+
+<hr>
+<h2><a name="basicssidirectives">\e$B4pK\E*$J\e(B SSI \e$B%G%#%l%/%F%#%V\e(B</a></h2>
+
+<p>SSI \e$B%G%#%l%/%F%#%V$O0J2<$NJ8K!$G5-=R$7$^$9\e(B:</p>
+
+<pre>
+ <!--#element attribute=value attribute=value ... -->
+</pre>
+
+<p>HTML \e$B$N%3%a%s%H$N$h$&$J=q<0$r$7$F$$$k$N$G!"$b$7\e(B SSI \e$B$r\e(B
+\e$B@5$7$/F0:n2DG=$K$7$J$1$l$P!"%V%i%&%6$O$=$l$rL5;k$9$k$G$7$g$&!#$7$+$7!"\e(B
+HTML \e$B%=!<%9Cf$G$O8+$($^$9!#$b$7\e(B SSI \e$B$r@5$7$/@_Dj$7$?$J$i!"\e(B
+\e$B%G%#%l%/%F%#%V$O$=$N7k2L$HCV$-49$($i$l$^$9!#\e(B</p>
+
+<p>element \e$B$O$?$/$5$s$"$k$b$N$+$i0l$D;XDj$9$k$3$H$,$G$-$^$9!#\e(B
+\e$B;XDj$G$-$k$b$N$NBgB??t$K$D$$$F$O!"<!2s$b$&>/$7>\$7$/@bL@$7$^$9!#\e(B
+\e$B$3$3$G$O!"\e(BSSI \e$B$G9T$J$&$3$H$,$G$-$kNc$r$$$/$D$+<($7$^$9!#\e(B</p>
+
+<h3><a name="today'sdate">\e$B:#F|$NF|IU\e(B</a></h3>
+
+<pre>
+ <!--#echo var="DATE_LOCAL" -->
+</pre>
+
+<p><code>echo</code> \e$BMWAG$OC1$KJQ?t$NCM$r=PNO$7$^$9!#\e(BCGI \e$B%W%m%0%i%`$K\e(B
+\e$BMxMQ2DG=$J4D6-JQ?t$NA4$F$N%;%C%H$r4^$`B?$/$NI8=`JQ?t$,$"$j$^$9!#\e(B
+\e$B$^$?!"\e(B<code>set</code> \e$BMWAG$rMQ$$$k$3$H$G!"FH<+$NJQ?t$rDj5A$9$k$3$H$,\e(B
+\e$B$G$-$^$9!#\e(B</p>
+
+<p>\e$B=PNO$5$l$kF|IU$N=q<0$,9%$-$G$O$J$$>l9g!"$=$N=q<0$r\e(B
+\e$B=$@5$9$k$?$a$K!"\e(B<code>config</code> \e$BMWAG$K\e(B <code>timefmt</code> \e$BB0@-$r\e(B
+\e$B;HMQ$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+<pre>
+ <!--#config timefmt="%A %B %d, %Y" -->
+ Today is <!--#echo var="DATE_LOCAL" -->
+</pre>
+
+<h3><a name="modificationdateofthefile">\e$B%U%!%$%k$NJQ99F|\e(B</a></h3>
+
+<pre>
+ This document last modified <!--#flastmod file="index.html" -->
+</pre>
+
+<p>\e$B$3$NMWAG$b\e(B <code>timefmt</code> \e$B%U%)!<%^%C%H$N@_Dj$K=>$$$^$9!#\e(B</p>
+
+<h3><a name="includingtheresultsofacgiprogram">CGI \e$B%W%m%0%i%`$N7k2L$r<h$j9~$`\e(B
+</a></h3>
+
+<p>\e$B$3$l$O!"A4$F$N?M$N$*5$$KF~$j$G$"$k\e(B ``\e$B%R%C%H%+%&%s%?\e(B'' \e$B$N$h$&$J\e(B CGI \e$B%W%m%0%i%`$N\e(B
+\e$B7k2L$r=PNO$9$k\e(B SSI \e$B$N$h$j0lHLE*$J;HMQ$N$&$A$N0l$D$G$9!#\e(B</p>
+
+<pre>
+ <!--#include virtual="/cgi-bin/counter.pl" -->
+</pre>
+
+<hr>
+<h2><a name="additionalexamples">\e$BDI2C$NNc\e(B</a></h2>
+
+<p>\e$B0J2<$O!"\e(BSSI \e$B$r;HMQ$7$F\e(B HTML \e$B%I%-%e%a%s%H$K$*$$$F$G$-$k$3$H$N\e(B
+\e$B$$$/$D$+$NFCJL$JNc$G$9!#\e(B</p>
+
+<hr>
+<h2><a name="whenwasthisdocumentmodified">\e$B$$$D$3$N%I%-%e%a%s%H$O=$@5$5$l$?$N$+\e(B?
+</a></h2>
+
+<p>\e$B@h$K!"%I%-%e%a%s%H$,:G8e$KJQ99$5$l$?$N$O$$$D$+$r%f!<%6$KDLCN$9$k$?$a$K\e(B SSI \e$B$r;HMQ$9$k$3$H$,$G$-$k$3$H$r\e(B
+\e$B=R$Y$^$7$?!#$7$+$7$J$,$i!"<B:]$NJ}K!$O!"$$$/$V$sLdBj$N$^$^$K$7$F$*$-$^$7$?!#\e(B
+HTML \e$B%I%-%e%a%s%H$KG[CV$5$l$?<!$N%3!<%I$O!"%Z!<%8$K\e(B
+\e$B$=$N$h$&$J%?%$%`%9%?%s%W$rF~$l$k$G$7$g$&!#$b$A$m$s!">e=R$N\e(B
+\e$B$h$&$K!"\e(BSSI \e$B$r@5$7$/F0:n2DG=$K$7$F$*$/I,MW$,$"$j$^$9!#\e(B</p>
+
+<pre>
+ <!--#config timefmt="%A %B %d, %Y" -->
+ This file last modified <!--#flastmod file="ssi.shtml" -->
+</pre>
+
+<p>\e$B$b$A$m$s!"\e(B<code>ssi.shtml</code> \e$B$NItJ,$r<B:]$NEv3:%U%!%$%kL>$H\e(B
+\e$BCV$-49$($kI,MW$,$"$j$^$9!#$b$7!"$"$i$f$k%U%!%$%k$KD%$k$3$H$,\e(B
+\e$B$G$-$k0lHLE*$J%3!<%I$rC5$7$F$$$k$J$i!"$3$l$OITJX$G$"$k$+$b$7$l$^$;$s!#\e(B
+\e$B$*$=$i$/$=$N>l9g$O!"$=$&$9$kBe$o$j$KJQ?t\e(B <code>LAST_MODIFIED</code>
+\e$B$r;HMQ$7$?$$$H9M$($k$G$7$g$&\e(B:</p>
+
+<pre>
+ <!--#config timefmt="%D" -->
+ This file last modified <!--#echo var="LAST_MODIFIED" -->
+</pre>
+
+<p><code>timefmt</code> \e$B=q<0$K$D$$$F$N$h$j>\:Y$K$D$$$F$O!"\e(B
+\e$B$*9%$_$N8!:w%5%$%H$K9T$-!"\e(B<code>ctime</code> \e$B$G8!:w$7$F$_$F$/$@$5$$!#J8K!$OF1$8$G$9!#\e(B</p>
+
+<hr>
+<h2><a name="includingastandardfooter">\e$BI8=`$N%U%C%?$rA^F~$9$k\e(B</a></h2>
+
+<p>\e$B$b$7?t%Z!<%8$rD6$($k%Z!<%8$r;}$D%5%$%H$r4IM}$7$F$$$k$J$i$P!"\e(B
+\e$BA4%Z!<%8$KBP$7$FJQ9`$r9T$J$&$3$H$,K\Ev$K6lDK$H$J$jF@$k$3$H$,J,$+$k$G$7$g$&!#\e(B
+\e$BA4$F$N%Z!<%8$KEO$C$F$"$k<o$NI8=`E*$J304Q$r0];}$7$h$&$H\e(B
+\e$B$7$F$$$k$J$i$PFC$K$=$&$G$7$g$&!#\e(B</p>
+
+<p>\e$B%X%C%@$d%U%C%?MQ$NA^F~MQ%U%!%$%k$r;HMQ$9$k$3$H$G!"$3$N$h$&$J\e(B
+\e$B99?7$K$+$+$kIiC4$r8:$i$9$3$H$,$G$-$^$9!#0l$D$N%U%C%?%U%!%$%k$r\e(B
+\e$B:n@.$7!"$=$l$r\e(B <code>include</code> SSI \e$B%3%^%s%I$G3F%Z!<%8$K\e(B
+\e$BF~$l$k$@$1$G:Q$_$^$9!#\e(B<code>include</code> \e$BMWAG$O!"\e(B<code>file</code> \e$BB0@-\e(B
+\e$B$^$?$O\e(B <code>virtual</code> \e$BB0@-$N$$$:$l$+$r;HMQ$7$F$I$N%U%!%$%k$rA^F~$9$k$+$r\e(B
+\e$B7h$a$k$3$H$,$G$-$^$9!#\e(B<code>file</code> \e$BB0@-$O!"\e(B<em>\e$B%+%l%s%H%G%#%l%/%H%j$+$i$N\e(B
+\e$BAjBP%Q%9$G<($5$l$?\e(B</em>\e$B%U%!%$%k%Q%9$G$9!#$=$l$O\e(B
+/ \e$B$G;O$^$k@dBP%U%!%$%k%Q%9$K$O$G$-$:!"$^$?!"$=$N%Q%9$N0lIt$K\e(B ../ \e$B$r\e(B
+\e$B4^$`$3$H$,$G$-$J$$$3$H$r0UL#$7$^$9!#\e(B<code>virtual</code> \e$BB0@-$O!"$*$=$i$/\e(B
+\e$B$h$jJXMx$@$H;W$$$^$9$,!"Ds6!$9$k%I%-%e%a%s%H$+$i$NAjBP\e(B URL \e$B$G;XDj$9$Y$-$G$9!#\e(B
+\e$B$=$l$O\e(B / \e$B$G;O$a$k$3$H$,$G$-$^$9$,!"Ds6!$9$k%U%!%$%k$HF1$8%5!<%P>e$K\e(B
+\e$BB8:_$7$J$/$F$O$J$j$^$;$s!#\e(B</p>
+
+<pre>
+ <!--#include virtual="/footer.html" -->
+</pre>
+
+<p>\e$B;d$O:G8e$NFs$D$rAH$_9g$o$;$F!"\e(B<code>LAST_MODIFIED</code> \e$B%G%#%l%/%F%#%V$r\e(B
+\e$B%U%C%?%U%!%$%k$NCf$KCV$/$3$H$,$h$/$"$j$^$9!#\e(B
+SSI \e$B%G%#%l%/%F%#%V$O!"A^F~MQ$N%U%!%$%k$K4^$^$;$?$j!"\e(B
+\e$BA^F~%U%!%$%k$N%M%9%H$r$7$?$j$9$k$3$H$,$G$-$^$9!#$9$J$o$A!"\e(B
+\e$BA^F~MQ$N%U%!%$%k$OB>$N%U%!%$%k$r:F5"E*$KA^F~$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+<hr>
+<h2><a name="whatelsecaniconfig">\e$BB>$K2?$,@_Dj$G$-$k$N$+\e(B?</a></h2>
+
+<p>\e$B;~9o=q<0$r\e(B <code>config</code> \e$B$G@_Dj$G$-$k$3$H$K2C$($F!"\e(B
+\e$B99$KFs$D\e(B <code>config</code> \e$B$G@_Dj$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+<p>\e$BDL>o!"\e(BSSI \e$B%G%#%l%/%F%#%V$G2?$+$,$&$^$/$$$+$J$$$H$-$O!"<!$N%a%C%;!<%8$,\e(B
+\e$B=PNO$5$l$^$9!#\e(B</p>
+
+<pre>
+ [an error occurred while processing this directive]
+</pre>
+
+<p>\e$B$3$N%a%C%;!<%8$rB>$N$b$N$K$7$?$$>l9g!"\e(B
+<code>config</code> \e$BMWAG$N\e(B <code>errmsg</code> \e$BB0@-$GJQ99$9$k$3$H$,\e(B
+\e$B$G$-$^$9\e(B:<p>
+
+<pre>
+ <!--#config errmsg="[It appears that you don't know how to use SSI]" -->
+</pre>
+
+<p>\e$B$*$=$i$/!"%(%s%I%f!<%6$O$3$N%a%C%;!<%8$r7h$7$F8+$k$3$H$O$"$j$^$;$s!#\e(B
+\e$B$J$<$J$i!"$=$N%5%$%H$,@8$-$?>uBV$K$J$kA0$K\e(B SSI \e$B%G%#%l%/%F%#%V$K4X$9$k\e(B
+\e$BA4$F$NLdBj$r2r7h$7$F$$$k$O$:$@$+$i$G$9!#\e(B(\e$B$=$&$G$9$h$M\e(B?)</p>
+
+<p>\e$B$=$7$F!"\e(B<code>config</code> \e$B$K$*$$$F\e(B <code>sizefmt</code> \e$BB0@-$r;HMQ$9$k$3$H$G!"\e(B
+\e$BJV$5$l$k%U%!%$%k%5%$%:$N=q<0$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+\e$B%P%$%H?t$K$O\e(B <code>bytes</code> \e$B$r!"E,Ev$K\e(B Kb \e$B$d\e(B Mb \e$B$K\e(B
+\e$BC;=L$5$;$k$K$O\e(B <code>abbrev</code> \e$B$r;XDj$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+<hr>
+<h2><a name="executingcommands">\e$B%3%^%s%I$N<B9T\e(B</a></h2>
+
+<p>\e$B:#8e?t%v7n$NFb$K!">.$5$J\e(B CGI \e$B%W%m%0%i%`$H\e(B SSI \e$B$r;HMQ$9$k\e(B
+\e$B5-;v$r=P$7$?$$$H9M$($F$$$^$9!#$3$3$G$O$=$l$H$OJL$K!"\e(B
+<code>exec</code> \e$BMWAG$K$h$C$F9T$J$&$3$H$,$G$-$k$3$H$r<($7$^$9!#\e(B
+SSI \e$B$K%7%'%k\e(B (\e$B@53N$K$O\e(B <code>/bin/sh</code>\e$B!#\e(BWin32 \e$B$J$i$P\e(B DOS \e$B%7%'%k\e(B)
+\e$B$r;HMQ$7$F%3%^%s%I$r<B9T$5$;$k$3$H$,$G$-$^$9!#2<5-$NNc$G$O!"%G%#%l%/%H%j\e(B
+\e$B%j%9%H=PNO$r9T$J$$$^$9!#\e(B</p>
+
+<pre>
+ <pre>
+ <!--#exec cmd="ls" -->
+ </pre>
+</pre>
+
+<p>Windows \e$B>e$G$O!"\e(B</p>
+
+<pre>
+ <pre>
+ <!--#exec cmd="dir" -->
+ </pre>
+</pre>
+
+<p>Windows \e$B>e$G$O!"$3$N%G%#%l%/%F%#%V$K$h$C$F$$$/$D$+$N4qL/$J\e(B
+\e$B=q<0$K5$$E$/$G$7$g$&!#$J$<$J$i\e(B <code>dir</code> \e$B$N=PNO$,\e(B
+\e$BJ8;zNs\e(B ``<<code>dir</code>>'' \e$B$r4^$_!"%V%i%&%6$r:.Mp$5$;$k$+$i$G$9!#\e(B</P>
+
+<p>\e$B$3$N5!G=$OHs>o$K4m81$G$"$j!"$I$s$J%3!<%I$G$b\e(B <code>exec</code> \e$B%?%0$K\e(B
+\e$BKd$a9~$^$l$F$7$^$($P<B9T$9$k$3$H$KCm0U$7$F$/$@$5$$!#Nc$($P\e(B
+`` \e$B%2%9%H%V%C%/\e(B '' \e$B$N$h$&$K!"$b$7!"%f!<%6$,%Z!<%8$NFbMF$r\e(B
+\e$BJT=8$G$-$k>u67$K$"$k$J$i$P!"$3$N5!G=$r3N<B$KM^@)$7$F$/$@$5$$!#\e(B
+<code>Options</code> \e$B%G%#%l%/%F%#%V$N\e(B <code>IncludesNOEXEC</code> \e$B0z?t$r;XDj$9$k$3$H$G!"\e(B
+SSI \e$B$O5v2D$9$k$1$l$I\e(B <code>exec</code> \e$B5!G=$O5v2D$7$J$$$h$&$K$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+<hr>
+<h2><a name="advancedssitechniques">\e$B9bEY$J\e(B SSI \e$B%F%/%K%C%/\e(B</a></h2>
+
+<p>\e$B%3%s%F%s%D$r=PNO$9$k$3$H$K2C$(!"\e(BApache SSI \e$B$OJQ?t$r@_Dj$7!"$=$7$FHf3S\e(B
+\e$B$H>r7oJ,4t$K$=$NJQ?t$r;HMQ$G$-$k5!G=$rDs6!$7$F$$$^$9!#\e(B</p>
+
+<h3><a name="caveat">\e$B7Y9p\e(B</a></h3>
+
+<p>\e$B$3$N5-;v$G=R$Y$?BgItJ,$N5!G=$O!"\e(BApache 1.2 \e$B0J9_$r\e(B
+\e$B;HMQ$7$F$$$k>l9g$N$_MxMQ2DG=$G$9!#$b$A$m$s!"$b$7\e(B Apache 1.2 \e$B0J9_$r\e(B
+\e$B;HMQ$7$F$J$$>l9g!"D>$A$K%"%C%W%0%l!<%I$9$kI,MW$,$"$j$^$9!#\e(B
+\e$B$5$!!":#$=$l$r9T$J$$$J$5$$!#$=$l$^$GBT$C$F$$$^$9!#\e(B</p>
+
+<hr>
+<h2><a name="settingvariables">\e$BJQ?t$r@_Dj$9$k\e(B</a></h2>
+
+<p><code>set</code> \e$B%G%#%l%/%F%#%V$r;HMQ$7$F!"8e$G;HMQ$9$k$?$a$KJQ?t$r\e(B
+\e$B@_Dj$9$k$3$H$,$G$-$^$9!#$3$l$O8e$N@bL@$GI,MW$K$J$k$N$G!"$3$3$G\e(B
+\e$B$=$l$K$D$$$F=R$Y$F$$$^$9!#J8K!$O0J2<$N$H$*$j$G$9\e(B:</p>
+
+<pre>
+ <!--#set var="name" value="Rich" -->
+</pre>
+
+<p>\e$B$3$N$h$&$KC1=c$KJ8;z$I$*$j$K@_Dj$9$k$3$H$K2C$(!"\e(B
+\e$BNc$($P4D6-JQ?t$dA0$N5-;v$G=R$Y$?JQ?t\e(B (\e$BNc$($P\e(B <code
+>LAST_MODIFIED</code> \e$B$N$h$&$J\e(B) \e$B$r4^$`B>$N$"$i$f$kJQ?t$r\e(B
+\e$BCM$r@_Dj$9$k$N$K;HMQ$9$k$3$H$,\e(B
+\e$B$G$-$^$9!#JQ?tL>$NA0$K%I%k5-9f\e(B ($) \e$B$r;HMQ$9$k$3$H$G!"\e(B
+\e$B$=$l$,%j%F%i%kJ8;zNs$G$O$J$/$FJQ?t$G$"$k$3$H$r<($7$^$9!#\e(B</p>
+
+<pre>
+ <!--#set var="modified" value="$LAST_MODIFIED" -->
+</pre>
+
+<p>\e$B%I%k5-9f\e(B ($) \e$B$rJ8;z$H$7$FJQ?t$NCM$KF~$l$k$K$O!"%P%C%/%9%i%C%7%e$K$h$C$F\e(B
+\e$B%I%k5-9f$r%(%9%1!<%W$9$kI,MW$,$"$j$^$9!#\e(B</p>
+
+<pre>
+ <!--#set var="cost" value="\$100" -->
+</pre>
+
+<p>\e$B:G8e$K$J$j$^$9$,!"D9$$J8;zNs$NCf$KJQ?t$rCV$-$?$$>l9g$G!"\e(B
+\e$BJQ?tL>$,B>$NJ8;z$H$V$D$+$k2DG=@-$,$"$j!"$=$l$i$NJ8;z$K$D$$$F\e(B
+\e$B:.Mp$7$F$7$^$&>l9g!"$3$N:.Mp$r<h$j=|$/$?$a!"JQ?tL>$rCf3g8L$G\e(B
+\e$B0O$`$3$H$,$G$-$^$9\e(B (\e$B$3$l$K$D$$$F$NNI$$Nc$r<($9$N$OFq$7$$$N$G$9$,!"\e(B
+\e$B$*$=$i$/J,$+$C$F$$$?$@$1$k$G$7$g$&\e(B)\e$B!#\e(B</P>
+
+<pre>
+ <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
+</pre>
+
+<hr>
+<h2><a name="conditionalexpressions">\e$B>r7o<0\e(B</a></h2>
+
+<p>\e$B$5$F!"JQ?t$r;}$C$F$$$F!"$=$l$i$NCM$r@_Dj$7$FHf3S$9$k$3$H$,$G$-$k$N$G$9$+$i!"\e(B
+\e$B>r7o$rI=$9$?$a$K$=$l$i$r;HMQ$9$k$3$H$,$G$-$^$9!#$3$l$K$h$j\e(B SSI \e$B$O\e(B
+\e$B$"$k<o$N>.$5$J%W%m%0%i%_%s%08@8l$K$J$C$F$$$^$9!#\e(B<code>mod_include</code> \e$B$O\e(B
+\e$B>r7o$rI=8=$9$k$?$a$K\e(B <code>if</code>, <code>elif</code>, <code>else</code>,
+<code>endif</code> \e$B9=B$$rDs6!$7$F$$$^$9!#$3$l$K$h$C$F!"0l$D$N<B:]$N%Z!<%8$+$i\e(B
+\e$BJ#?t$NO@M}%Z!<%8$r8z2LE*$K@8@.$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+<p>\e$B>r7o9=B$$O0J2<$N$H$*$j$G$9\e(B:</p>
+
+<pre>
+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif -->
+</pre>
+
+<p><em>test_condition</em> \e$B$O$"$i$f$k<oN`$NO@M}E*Hf3S$r$9$k$3$H$,$G$-$^$9!#\e(B
+\e$BCM$rHf3S$7$?$j!"$=$NCM$,\e(B ``\e$B??\e(B'' \e$B$+$I$&$+$rI>2A$7$^$9\e(B (\e$B6u$G$J$$$J$i\e(B
+\e$BM?$($i$l$?J8;zNs$O??$G$9\e(B)\e$B!#MxMQ2DG=$JHf3S1i;;;R$NA4$F$N%j%9%H$K$D$$$F$O!"\e(B
+<code>mod_include</code> \e$B%I%-%e%a%s%F!<%7%g%s$r;2>H$7$F$/$@$5$$!#\e(B
+\e$B$3$3$G$O!"$3$N9=B$$r$I$&;HMQ$9$k$+$NNc$r$$$/$D$+<($7$^$9!#\e(B</p>
+
+<p>\e$B@_Dj%U%!%$%k$G<!$N9T$r5-=R$7$^$9\e(B:</P>
+
+<pre>
+ BrowserMatchNoCase macintosh Mac
+ BrowserMatchNoCase MSIE InternetExplorer
+</pre>
+
+<p>\e$B$3$l$O%/%i%$%"%s%H$,\e(B Macintosh \e$B>e$G%$%s%?!<%M%C%H%(%/%9%W%m!<%i$,\e(B
+\e$BF0$$$F$$$k>l9g!"4D6-JQ?t\e(B ``Mac'' \e$B$H\e(B ``InternetExplorer'' \e$B$r??$H@_Dj$7$^$9!#\e(B</P>
+
+<p>\e$B<!$K!"\e(BSSI \e$B$,2DG=$K$J$C$?%I%-%e%a%s%H$G0J2<$r9T$J$$$^$9\e(B:</p>
+
+<pre>
+ <!--#if expr="${Mac} && ${InternetExplorer}" -->
+ Apologetic text goes here
+ <!--#else -->
+ Cool JavaScript code goes here
+ <!--#endif -->
+</pre>
+
+<p>Mac \e$B>e$N\e(B IE \e$B$KBP$7$F2?$+;W$&$H$3$m$,$"$k$o$1$G$"$j$^$;$s!#\e(B
+\e$BB>$G$O<B9T$G$-$F$$$k$$$/$D$+$N\e(B JavaScript \e$B$r\e(B Mac \e$B>e$N\e(B IE \e$B$G\e(B
+\e$B<B9T$5$;$k$N$K!"@h=5?t;~4V6lO+$7$?$H$$$&$@$1$N$3$H$G$9!#\e(B
+\e$B>e$NNc$O$=$N;CDjE*$JBP=hJ}K!$G$9!#\e(B</p>
+
+<p>\e$BB>$N$I$s$JJQ?t\e(B (\e$B$"$J$?$,Dj5A$9$k$b$N!"$^$?$OIaDL$N4D6-JQ?t$N$$$:$l$+\e(B) \e$B$b!"\e(B
+\e$B>r7oJ8$K;HMQ$9$k$3$H$,$G$-$^$9!#\e(BApache \e$B$O\e(B <code>SetEnvIf</code>
+\e$B%G%#%l%/%F%#%V$dB>$N4XO"%G%#%l%/%F%#%V;HMQ$7$F4D6-JQ?t$r@_Dj$9$k$3$H$,\e(B
+\e$B$G$-$^$9!#$3$N5!G=$K$h$j!"\e(BCGI \e$B$KMj$k$3$H$J$/$+$J$jJ#;($JF0E*$J$3$H$r$5$;$k\e(B
+\e$B$3$H$,$G$-$^$9!#\e(B</p>
+
+<hr>
+<h2><a name="conclusion">\e$B=*$o$j$K\e(B</a></h2>
+
+<p>SSI \e$B$O3N$+$K\e(B CGI \e$B$dF0E*$J%&%'%V%Z!<%8$r@8@.$9$kB>$N5;=Q$KBe$o$k$b$N\e(B
+\e$B$G$O$"$j$^$;$s!#$7$+$7!"\e(B
+\e$B$?$/$5$s$NM>J,$J:n6H$r$;$:$K!">/NL$NF0E*$J%3%s%F%s%D$r2C$($k$K$O\e(B
+\e$B$9$0$l$?J}K!$G$9!#\e(B</p>
+
+</body>
+</html>