home *** CD-ROM | disk | FTP | other *** search
Text File | 2003-04-15 | 39.2 KB | 1,005 lines |
- <p>$B$3$N%3%^%s%I$O%Q!<%9;~$N?6$kIq$$$r@)8f$7$^$9!#;XDj2DG=$JB0@-$O(B:</p>
-
- <dl>
- <dt><strong>errmsg</strong></dt>
-
- <dd>$BCM$O%I%-%e%a%s%H$N%Q!<%9;~$K%(%i!<$,H/@8$7$?>l9g$K(B
- $B%/%i%$%"%s%H$KAw$i$l$k%a%C%;!<%8$G$9!#(B</dd>
-
- <dt><strong>sizefmt</strong></dt>
-
- <dd>$B$3$NCM$O%U%!%$%k$NBg$-$5$rI=<($9$k$H$-$K;H$o$l$k%U%)!<%^%C%H$r(B
- $B@_Dj$7$^$9!#M-8z$JCM$O%P%$%HC10L$GI=<($9$k(B <code>bytes</code> $B$H!"(B
- $B>u67$K1~$8$F(B Kb $B$d(B Mb $B$r;H$&(B <code>abbrev</code> $B$G$9!#(B</dd>
-
- <dt><strong>timefmt</strong></dt>
-
- <dd>$BCM$OF|IU$rI=<($9$k$H$-$K(B <code>strftime(3)</code> $B%i%$%V%i%j4X?t$,(B
- $B;H$&J8;zNs$G$9!#(B</dd>
- </dl>
- </dd>
-
- <dt><strong><a name="echo">echo</a></strong></dt>
-
- <dd>
- <p>$B$3$N%3%^%s%I$O0J2<$GDj5A$5$l$F$$$k(B <a href="#includevars">include
- $BJQ?t(B</a> $B$rI=<($7$^$9!#JQ?t$,@_Dj$5$l$F$$$J$$>l9g$O(B <code>(none)</code>
- $B$HI=<($5$l$^$9!#F|IU$O$=$N;~E@$G$N(B <code>timefmt</code> $B$K=>$C$F(B
- $BI=<($5$l$^$9!#(B</p>
-
- <p>$BB0@-(B:</p>
-
- <dl>
- <dt><strong>var</strong></dt>
-
- <dd>$BCM$OI=<($9$kJQ?t$NL>A0$G$9!#(B</dd>
-
- <dt><strong>encoding</strong></dt>
-
- <dd>Apache $B$,JQ?t$r=PNO$9$kA0$K!"FCJL$JJ8;z$r%(%s%3!<%I$9$k(B
- $BJ}K!$r;XDj$7$^$9!#(B"none" $B$K@_Dj$5$l$F$$$k$H!"%(%s%3!<%I$O9T$J$o$l$^$;$s!#(B
- "url" $B$K@_Dj$5$l$F$$$k$H!"(BURL $B%(%s%3!<%I(B (%-$B%(%s%3!<%I$H$b(B
- $B8F$P$l$F$$$^$9!#$3$l$O%j%s%/$N(B URL $B$G$N;HMQ$KE,$7$F$$$^$9(B) $B$,(B
- $B9T$J$o$l$^$9!#(B<code>echo</code> $BMWAG$N3+;O;~$O!"%G%U%)%k%H$O(B
- "entity" $B$K@_Dj$5$l$F$$$^$9!#$3$l$O%(%s%F%#%F%#%(%s%3!<%I(B
- ($BCJMn$d%F%-%9%H$J$I$N%V%m%C%/%l%Y%k$N(B HTML $B%(%l%a%s%H$N%3%s%F%-%9%H$K(B
- $BE,$7$F$$$^$9(B) $B$r9T$J$$$^$9!#$3$l$O(B <code>encoding</code> $BB0@-(B
- $B$r2C$($k$3$H$GJQ99$G$-$^$9!#JQ99$O<!$N(B <code>encoding</code> $BB0@-$+!"(B
- $BMWAG$N=*N;$^$G8zNO$r;}$A$^$9!#(B<code>encoding</code> $BB0@-$O(B
- $B%(%s%3!<%I$NJQ99$r$7$?$$(B <code>var</code> $B$N(B<em>$BA0$K(B</em> $B$"$k(B
- $BI,MW$,$"$k$3$H$KCm0U$7$F$/$@$5$$!#$^$?!"(BISO-8859-1 $B%(%s%3!<%G%#%s%0$G(B
- $BDj5A$5$l$F$$$kFCJL$JJ8;z$@$1$,%(%s%3!<%I$5$l$^$9!#(B
- $BJL$NJ8;z$N%(%s%3!<%G%#%s%0$,;H$o$l$F$$$k>l9g!"$3$N%(%s%3!<%G%#%s%0$O(B
- $BK>$_$N7k2L$r$b$?$i$5$J$$$+$b$7$l$^$;$s!#$3$l$O!"(BApache 1.3.12 $B0J9_(B
- $B$G;HMQ2DG=$G$9!#0JA0$N%P!<%8%g%s$O%(%s%3!<%I$r9T$J$$$^$;$s!#(B</dd>
- </dl>
- </dd>
-
- <dt><strong>exec</strong></dt>
-
- <dd>
- <p>exec $B%3%^%s%I$O;XDj$5$l$?%7%'%k%3%^%s%I$d(B CGI $B%9%/%j%W%H$r(B
- $B<B9T$7$^$9!#(B<module>mod_cgi</module> $B$,%5!<%P$KAH$_9~$^$l$F$$$k$3$H$,(B
- $BI,MW$G$9!#(BIncludesNOEXEC <directive
- module="core">Option</directive> $B$O$3$N%3%^%s%I$rL58z$K$7$^$9!#(B
- $B;HMQ2DG=$JB0@-$O(B:</p>
-
- <dl>
- <dt><strong>cgi</strong></dt>
-
- <dd>
- <p>$BCM$O(B (%-$B%(%s%3!<%I$5$l$?(B) URL $B$r;XDj$7$^$9!#%Q%9$,(B
- $B%9%i%C%7%e(B (/) $B$G;O$^$i$J$$$H$-$O!"%I%-%e%a%s%H$+$i$N(B
- $BAjBP%Q%9$H$7$F07$o$l$^$9!#$3$N%Q%9$G;2>H$5$l$F$$$k%I%-%e%a%s%H$O(B
- $B%5!<%P$,(B CGI $B%9%/%j%W%H$H$7$F07$C$F$$$J$/$F$b(B CGI $B%9%/%j%W%H$H$7$F(B
- $B5/F0$5$l$^$9!#$?$@$7!"%9%/%j%W%H$N$"$k%G%#%l%/%H%j$G$O(B
- (<directive module="mod_alias">ScriptAlias</directive>
- $B$d(B ExecCGI <directive module="core">Option</directive> $B$K$h$C$F(B)
- CGI $B%9%/%j%W%H$N;HMQ$,5v2D$5$l$F$$$kI,MW$,$"$j$^$9!#(B</p>
-
- <p>CGI $B%9%/%j%W%H$K$O(B PATH_INFO $B$H%/%i%$%"%s%H$+$i$N(B
- $B85!9$N%j%/%(%9%H$N%/%(%j!<J8;zNs$,EO$5$l$^$9!#%9%/%j%W%H$OI8=`(B
- <a href="mod_cgi.html">CGI</a> $B4D6-$K2C$($F!"(Binclude $BJQ?t$r(B
- $B;HMQ$9$k$3$H$,$G$-$^$9!#(B</p>
-
- <p>$BNc$($P(B:</p>
-
- <example><!--#exec cgi="/cgi-bin/example.cgi" --></example>
-
- <p>$B%9%/%j%W%H$,=PNO$NBe$o$j$K(B Location: $B%X%C%@$rJV$9$H!"(B
- HTML $B$N%"%s%+!<$KJQ49$5$l$^$9!#(B</p>
-
- <p><code>exec cgi</code> $B$h$j$b!"(B
- <code><a href="#includevirtual">include virtual</a></code>
- $B$NJ}$r;H$&$h$&$K$7$F$/$@$5$$!#FC$K!"(BCGI $B$X$NDI2C$N0z?t$r(B
- $B%/%(%j!<J8;zNs$r;H$C$FEO$9$3$H$O(B <code>exec cgi</code> $B$O(B
- $B$G$-$^$;$s$,!"(B<code>include virtual</code> $B$O0J2<$N$h$&$K$7$F(B
- $B2DG=$G$9!#(B</p>
-
- <example>
- <!--#include virtual="/cgi-bin/example.cgi?argument=value" -->
- </example>
-
- </dd>
-
- <dt><strong>cmd</strong></dt>
-
- <dd>
- <p>$B%5!<%P$O;XDj$5$l$?J8;zNs$r(B <code>/bin/sh</code> $B$r;H$C$F(B
- $B<B9T$7$^$9!#%3%^%s%I$ODL>o$N(B CGI $BJQ?t$K2C$($F(B <a
- href="#includevars">include $BJQ?t(B</a>$B$b;H$&$3$H$,$G$-$^$9!#(B</p>
-
- <p>$B$[$H$s$I$$$D$b!"(B<code><a href="#includevirtual">#include
- virtual</a></code> $B$r;H$&J}$,(B <code>#exec cgi</code> $B$d(B <code>#exec
- cmd</code> $B$r;H$&$h$j$bNI$$J}K!$G$9!#A0<T(B (<code>#include virtual</code>)
- $B$OI8=`$N(B Apache $B$N%5%V%j%/%(%9%H5!9=$r;H$C$F%U%!%$%k$d%9%/%j%W%H$N(B
- $B=PNO$r<h$j9~$_$^$9!#$=$NJ}K!$NJ}$,$h$j$?$/$5$s;n$5$l!"(B
- $B$h$/0];}$5$l$F$$$^$9!#(B</p>
-
- <p>$B$5$i$K!"(BWin32 $B$N$h$&$J$$$/$D$+$N%W%i%C%H%U%)!<%`$d!"(Bsuexec
- $B$r;H$C$F$$$k(B unix $B$G$O!"(B<code>exec</code> $B%G%#%l%/%F%#%V$N%3%^%s%I$K(B
- $B0z?t$rEO$7$?$j!"%3%^%s%I$K6uGr$rF~$l$k$3$H$O$G$-$^$;$s!#(B
- $B$G$9$+$i!"0J2<$N$b$N$O(B unix $B$N(B suexec $B$G$J$$@_Dj$G$OF0:n$7$^$9$,!"(B
- Win32 $B$d(B suexec $B$r;H$C$F$$$k(B unix $B$G$O4|BT$7$?7k2L$K$O$J$j$^$;$s(B:</p>
-
- <example>
- <!--#exec cmd="perl /path/to/perlscript arg1 arg2" -->
- </example>
-
- </dd>
- </dl>
- </dd>
-
- <dt><strong>fsize</strong></dt>
-
- <dd>
- <p>$B$3$N%3%^%s%I$O;XDj$5$l$?%U%!%$%k$NBg$-$5$r(B <code>sizefmt</code> $B$N(B
- $B=q<0;XDj$K4p$E$$$F=PNO$7$^$9!#B0@-$O(B:</p>
-
- <dl>
- <dt><strong>file</strong></dt>
-
- <dd>$BCM$O2r@O$5$l$F$$$k%I%-%e%a%s%H$NB8:_$9$k%G%#%l%/%H%j$+$i$N(B
- $BAjBP%Q%9$G$9!#(B</dd>
-
- <dt><strong>virtual</strong></dt>
-
- <dd> $BCM$O(B (% $B%(%s%3!<%I$5$l$?(B) URL-path $B$G$9!#%9%i%C%7%e(B (/) $B$G(B
- $B;O$^$i$J$$$H$-$O%I%-%e%a%s%H$+$i$NAjBP%Q%9$H$7$F07$o$l$^$9!#(B</dd>
-
- </dl>
- </dd>
-
- <dt><strong>flastmod</strong></dt>
-
- <dd>$B$3$N%3%^%s%I$O;XDj$5$l$?%U%!%$%k$N:G=*=$@5;~9o$r(B
- <code>timefmt</code> $B=q<0;XDj$K=>$C$FI=<($7$^$9!#(B
- $B;XDj2DG=$JB0@-$O(B <code>fsize</code> $B%3%^%s%I$HF1$8$G$9!#(B</dd>
-
- <dt><strong>include</strong></dt>
-
- <dd>
- <p>$B$3$N%3%^%s%I$OJL$NJ8=q$d%U%!%$%k$N%F%-%9%H$r2r@O$7$F$$$k%U%!%$%k$K(B
- $BA^F~$7$^$9!#A^F~$5$l$k%U%!%$%k$O%"%/%;%9@)8f$N4IM}2<$K$"$j$^$9!#(B
- $B2r@O$7$F$$$k%U%!%$%k$NB8:_$9$k%G%#%l%/%H%j$K(B
- <a href="core.html#options">Option</a> IncludesNOEXEC $B$,(B
- $B@_Dj$5$l$F$$$F!"J8=q$NA^F~$K$h$j%W%m%0%i%`$,<B9T$5$l$k$h$&$J>l9g$O!"(B
- $B$=$NJ8=q$OA^F~$5$l$^$;$s!#$=$N(B Option $B$N@_Dj$O(B CGI $B%9%/%j%W%H$N<B9T$r(B
- $B6X;_$9$k$+$i$G$9!#$=$NB>$N>l9g$O!"(B
- $B%/%(%j!<J8;zNs$b4^$a!"%3%^%s%I$G;XDj$5$l$?(B
- $B40A4$J(B URL $B$r;H$C$FIaDL$K(B CGI $B%9%/%j%W%H$,8F$S=P$5$l$^$9!#(B</p>
-
- <p>$BB0@-$,J8=q$N0LCV$r;XDj$7$^$9!#(Binclude $B%3%^%s%I$KM?$($i$l$?$=$l$>$l$N(B
- $BB0@-$KBP$7$FA^F~:n6H$,9T$J$o$l$^$9!#M-8z$JB0@-$O(B:</p>
-
- <dl>
- <dt><strong>file</strong></dt>
-
- <dd>$BCM$O2r@O$5$l$F$$$k%I%-%e%a%s%H$NB8:_$9$k%G%#%l%/%H%j$+$i$N(B
- $BAjBP%Q%9$G$9!#(B
- <code>../</code> $B$r4^$s$G$$$?$j!"@dBP%Q%9$r;XDj$7$?$j$O$G$-$^$;$s!#(B
- $B$G$9$+$i!"%I%-%e%a%s%H%k!<%H$N30$K$"$k%U%!%$%k$d!"%G%#%l%/%H%j9=B$$G(B
- $B>e0L$K$"$k%U%!%$%k$rA^F~$9$k$3$H$O$G$-$^$;$s!#(B
- $B>o$K$3$NB0@-$h$j$O!"(B<code>virtual</code> $BB0@-$r;H$&$h$&$K$7$F$/$@$5$$!#(B
- </dd>
-
- <dt><strong><a name="includevirtual">virtual</a></strong></dt>
-
- <dd>
- <p>$BCM$O2r@O$5$l$F$$$k%I%-%e%a%s%H$+$i$N(B (% $B%(%s%3!<%I$5$l$?(B) URL
- $B$G$9!#(BURL $B$K$O%9%-!<%`$d%[%9%HL>$r4^$a$k$3$H$O$G$-$^$;$s!#%Q%9$H!"(B
- $B$b$7$"$l$P%/%(%j!<J8;zNs$r;XDj$G$-$k$@$1$G$9!#%9%i%C%7%e(B (/) $B$+$i(B
- $B;O$^$i$J$$>l9g$O!"%I%-%e%a%s%H$+$i$NAjBP%Q%9$H$7$F07$o$l$^$9!#(B</p>
-
- <p>URL $B$OB0@-$+$i:n$i$l!"$=$N(B URL $B$r%/%i%$%"%s%H$,%"%/%;%9$7$?$H$-$K(B
- $B=PNO$5$l$kFbMF$,2r@O8e$N=PNO$K4^$a$i$l$^$9!#$G$9$+$i!"A^F~$5$l$k(B
- $B%U%!%$%k$OF~$l;R9=B$$K$9$k$3$H$,$G$-$^$9!#(B</p>
-
- <p>$B;XDj$5$l$?(B URL $B$,(B CGI $B%W%m%0%i%`$G$"$C$?>l9g$O!"(B
- $B%W%m%0%i%`$,<B9T$5$l!"$=$N=PNO$,2r@O$7$F$$$k%U%!%$%kCf$N(B
- $B%G%#%l%/%F%#%V$,$"$C$?0LCV$KA^F~$5$l$^$9!#(BCGI $B$N(B url $B$K(B
- $B%/%(%j!<(B URL $B$rF~$l$k$3$H$b$G$-$^$9(B:</p>
-
- <example>
- <!--#include virtual="/cgi-bin/example.cgi?argument=value" -->
- </example>
-
- <p>HTML $B%I%-%e%a%s%H$K(B CGI $B%W%m%0%i%`$N=PNO$r4^$a$kJ}K!$H$7$F$O!"(B
- <code>include virtual</code> $B$NJ}$,(B <code>exec cgi</code> $B$h$j$b(B
- $B9%$^$7$$J}K!$G$9!#(B</p>
- </dd>
- </dl>
- </dd>
-
- <dt><strong>printenv</strong></dt>
-
- <dd>
- <p>$B$3$l$O!"B8:_$9$k$9$Y$F$NJQ?t$H$=$NCM$rI=<($7$^$9!#(BApache 1.3.12 $B$+$i!"(B
- $BFCJL$JJ8;z$O=PNO$5$l$kA0$K%(%s%F%#%F%#%(%s%3!<%I(B ($B>\:Y$O(B <a
- href="#echo"><code>echo</code></a> $BMWAG$r;2>H(B) $B$5$l$k$h$&$K$J$j$^$7$?!#(B
- $BB0@-$O$"$j$^$;$s!#(B</p>
-
- <p>$BNc$($P(B:</p>
-
- <example>
- <!--#printenv -->
- </example>
-
- <p><strong>printenv</strong> $BMWAG$O(B Apache 1.2 $B0J9_$G$N$_;HMQ2DG=$G$9!#(B</p>
- </dd>
- <dt><strong>set</strong></dt>
-
- <dd>
- $B$3$l$OJQ?t$NCM$r@_Dj$7$^$9!#B0@-$O(B:
-
- <dl>
- <dt><strong>var</strong></dt>
-
- <dd>$B@_Dj$9$kJQ?t$NL>A0!#(B</dd>
-
- <dt><strong>value</strong></dt>
-
- <dd>$BJQ?t$K@_Dj$9$kCM!#(B</dd>
- </dl>
- <p>$BNc$($P(B:</p>
-
- <example>
- <!--#set var="category" value="help" -->
- </example>
-
- <p><strong>set</strong> $BMWAG$O(B Apache 1.2 $B0J9_$G$N$_;HMQ2DG=$G$9!#(B</p>
- </dd>
- </dl>
- </section>
-
- <section id="includevars">
- <title>Include $BJQ?t(B</title>
-
- <p>$BI8=`(B CGI $B4D6-$NJQ?t$K2C$($F!"(B<code>echo</code> $B%3%^%s%I$d!"(B
- <code>if</code> $B$d(B <code>elif</code>, $B$=$l$K%I%-%e%a%s%H$+$i8F$S=P$5$l$k(B
- $B$9$Y$F$N%W%m%0%i%`$+$i;HMQ$G$-$kJQ?t$,$"$j$^$9!#(B</p>
-
- <dl>
- <dt>DATE_GMT</dt>
-
- <dd>$B%0%j%K%C%8I8=`;~$K$h$k8=:_;~9o!#(B</dd>
-
- <dt>DATE_LOCAL</dt>
-
- <dd>$B%m!<%+%k$NI8=`;~$K$h$k8=:_;~9o!#(B</dd>
-
- <dt>DOCUMENT_NAME</dt>
-
- <dd>$B%f!<%6$,%j%/%(%9%H$7$?(B ($B%G%#%l%/%H%j$r=|$$$?(B) $B%U%!%$%kL>!#(B</dd>
-
- <dt>DOCUMENT_URI</dt>
-
- <dd>$B%f!<%6$,%j%/%(%9%H$7$?(B (% $B%(%s%3!<%I$5$l$?(B) URL-path$B!#(B
- $BA^F~%U%!%$%k$,F~$l;R$K$J$C$F$$$k>l9g$O!"2r@O$5$l$F$$$k(B
- $B%I%-%e%a%s%H$N(B URL $B$G$O(B<em>$B$J$$(B</em>$B$3$H$KCm0U$7$F$/$@$5$$!#(B</dd>
-
- <dt>LAST_MODIFIED</dt>
-
- <dd>$B%f!<%6$,%j%/%(%9%H$7$?%I%-%e%a%s%H$N:G=*=$@5;~9o!#(B</dd>
- </dl>
- </section>
-
- <section>
- <title>$BJQ?tCV49(B</title>
-
- <p>$BJQ?tCV49$O$?$$$F$$$N>l9g(B SSI $B%G%#%l%/%F%#%V$N0z?t$H$7$FBEEv$J>l=j$K$"$k(B
- $B0zMQId$G0O$^$l$?J8;zNsCf$G9T$J$o$l$^$9!#$3$l$K3:Ev$9$k$b$N$K$O!"(B
- <code>config</code>,
- <code>exec</code>, <code>flastmod</code>, <code>fsize</code>,
- <code>include</code>, <code>echo</code>, <code>set</code> $B$N(B
- $B3F%G%#%l%/%F%#%V$H!">r7oJ,4tMQ$N%*%Z%l!<%?$X$N0z?t$,$"$j$^$9!#(B
- $B%I%k5-9f$O%P%C%/%9%i%C%7%e$r;H$&$3$H$G;H$&$3$H$,$G$-$^$9(B:</p>
-
- <example>
- <!--#if expr="$a = \$test" -->
- </example>
-
- <p>$BJQ?tL>$H$7$F$_$J$5$l$kJ8;zNs$NCf$GJQ?t$X$N;2>H$rCV49$9$kI,MW$,$"$k$H$-$O!"(B
- $B%7%'%k$G$NJQ?tCV49$N$h$&$K!"Cf3g8L$G3g$k$3$H$G6hJL$9$k$3$H$,$G$-$^$9(B:</p>
-
- <example>
- <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" -->
- </example>
-
- <p>$B$3$NNc$G$O!"(B<code>REMOTE_HOST</code> $B$,(B
- "<code>X</code>" $B$G(B <code>REQUEST_METHOD</code> $B$,(B
- "<code>Y</code>" $B$N$H$-$KJQ?t(B <code>Zed</code> $B$r(B "<code>X_Y</code>"
- $B$K@_Dj$7$^$9!#(B</p>
-
- <p>$BNc(B: $B0J2<$NNc$G$O!"(BDOCUMENT_URI $B$,(B /foo/file.html $B$N$H$-$K(B
- "in foo" $B$r!"(B/bar/file.html $B$N$H$-$K(B "in bar" $B$r!"$I$A$i$G$b$J$$$H$-$K$O(B
- "in neither" $B$rI=<($7$^$9(B:</p>
-
- <example>
- <!--#if expr="\"$DOCUMENT_URI\" = \"/foo/file.html\"" --><br />
- in foo<br />
- <!--#elif expr="\"$DOCUMENT_URI\" = \"/bar/file.html\"" --><br />
- in bar<br />
- <!--#else --><br />
- in neither<br />
- <!--#endif -->
- </example>
- </section>
-
- <section id="flowctrl">
- <title>$B%U%m!<@)8fMQMWAG(B</title>
-
- <p>Apache 1.2 $B0J9_$G;HMQ$G$-$^$9!#4pK\%U%m!<@)8fMWAG$O(B:</p>
-
- <example>
- <!--#if expr="<em>test_condition</em>" --><br />
- <!--#elif expr="<em>test_condition</em>" --><br />
- <!--#else --><br />
- <!--#endif -->
- </example>
-
- <p><strong><code>if</code></strong> $BMWAG$O%W%m%0%i%_%s%08@8l$N(B
- if $BJ8$HF1$8$h$&$KF0:n$7$^$9!#>r7o$,I>2A$5$l!"7k2L$,??$G$"$l$P(B
- <strong><code>elif</code></strong> $B$+(B
- <strong><code>else</code></strong> $B$+(B <strong><code>endif</code></strong>
- $B$^$G$NJ8;zNs$,=PNO$KA^F~$5$l$^$9!#(B</p>
-
- <p><strong><code>elif</code></strong> $B$d(B <strong><code>else</code></strong>
- $BJ8$O(B test_condition $B$,56$N$H$-$K%F%-%9%H$r=PNO$KA^F~$9$k$?$a$K;H$o$l$^$9!#(B
- $B$3$l$i$NMWAG$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#(B</p>
-
- <p><strong><code>endif</code></strong> $BMWAG$O(B <strong><code>if</code></strong>
- $BMWAG$r=*N;$5$;$^$9!#$3$NMWAG$OI,?\$G$9!#(B</p>
-
- <p><em>test_condition</em> $B$O0J2<$N$I$l$+$G$9(B:</p>
-
- <dl>
- <dt><em>string</em></dt>
-
- <dd><em>string</em> $B$,6u$G$J$$>l9g$K??$G$9(B</dd>
-
- <dt><em>string1</em> = <em>string2</em><br />
- <em>string1</em> != <em>string2</em><br />
- <em>string1</em> < <em>string2</em><br />
- <em>string1</em> <= <em>string2</em><br />
- <em>string1</em> > <em>string2</em><br />
- <em>string1</em> >= <em>string2</em></dt>
-
- <dd>string1 $B$H(B string2 $B$rHf3S$7$^$9!#(Bstring2 $B$,(B <em>/string/</em>
- $B$H$$$&7A<0$G$"$l$P!"@55,I=8=$H$7$FHf3S$5$l$^$9!#@55,I=8=$O(B
- Unix $B$N(B <code>egrep</code> $B%3%^%s%I$HF1$89=J8$G$9!#(B</dd>
-
- <dt>( <em>test_condition</em> )</dt>
-
- <dd><em>test_condition</em> $B$,??$N$H$-$K??$G$9(B</dd>
-
- <dt>! <em>test_condition</em></dt>
-
- <dd><em>test_condition</em> $B$,56$N$H$-$K??$G$9(B</dd>
-
- <dt><em>test_condition1</em> &&
- <em>test_condition2</em></dt>
-
- <dd><em>test_condition1</em> $B$H(B
- <em>test_condition2</em> $B$NN>J}$,??$N$H$-$K??$G$9(B</dd>
-
- <dt><em>test_condition1</em> || <em>test_condition2</em></dt>
-
- <dd><em>test_condition1</em> $B$H(B
- <em>test_condition2</em> $B$N$I$A$i$+$,??$N$H$-$K??$G$9(B</dd>
- </dl>
-
- <p>"<em>=</em>" $B$H(B "<em>!=</em>" $B$NJ}$,(B "<em>&&</em>" $B$h$j(B
- $B$-$D$/B+G{$7$^$9!#(B"<em>!</em>" $B$NB+G{$,0lHV$-$D$/$J$C$F$$$^$9!#(B
- $B$G$9$+$i0J2<$NFs$D$OEy2A$G$9(B:</p>
-
- <example>
- <!--#if expr="$a = test1 && $b = test2" --><br />
- <!--#if expr="($a = test1) && ($b = test2)" -->
- </example>
-
- <p>$BJQ?t$d%*%Z%l!<%?$H$7$FG'<1$5$l$J$$$b$N$O$9$Y$FJ8;zNs$H$7$F(B
- $B07$o$l$^$9!#J8;zNs$O0zMQId$G0O$`$3$H$b$G$-$^$9(B: <em>'string'</em>
- $B$N$h$&$K!#0zMQId$G0O$^$l$F$$$J$$J8;zNs$K$O6uGr(B ($B%9%Z!<%9$H%?%V(B)
- $B$r4^$a$k$3$H$O$G$-$^$;$s!#$=$l$i$OJQ?t$J$I$N6g$rJ,N%$9$k$?$a$K(B
- $B;H$o$l$F$$$k$+$i$G$9!#J#?t$NJ8;zNs$,B3$$$F$$$k$H$-$O!"(B
- $B6uGr$r4V$KF~$l$F0l$D$K$/$C$D$1$i$l$^$9!#$G$9$+$i!"(B</p>
-
- <example>
- <pre><em>string1 string2</em> $B$O(B <em>string1 string2</em> $B$K$J$j$^$9(B</pre>
- <pre><em>'string1 string2'</em> $B$O(B <em>string1 string2</em> $B$K$J$j$^$9(B</pre>
- </example>
-
- </section>
-
- <section>
- <title>ErrorDocuments $B$G(B Server Side Includes $B$r;H$&(B</title>
-
- <p>mod_include $B$N5!G=$r;H$C$F!"9q:]2=$5$l!"%+%9%?%^%$%:$5$l$?%(%i!<(B
- $B%I%-%e%a%s%H$rDs6!$9$k$?$a$NJ}K!$r@bL@$7$?(B
- <a href="../misc/custom_errordocs.html">$BJ8=q(B</a>$B$,$"$j$^$9!#(B</p>
-
- </section>
-
- <section><title>Server Side Includes $B$G$N(B PATH_INFO</title>
-
- <p>server-side includes $B$G=hM}$5$l$k%U%!%$%k$O(B PATH_INFO
- ($B8e$KIU$$$?%Q%9L>$N>pJs(B) $BIU$-$N%j%/%(%9%H$r<u$1IU$1$J$/$J$j$^$7$?!#(B
- PATH_INFO $B$NIU$$$?%j%/%(%9%H$r<u$1IU$1$k$h$&$K@_Dj$9$k$?$a$K!"(B<directive
- module="core">AcceptPathInfo</directive> $B%G%#%l%/%F%#%V$r(B
- $B;H$&$3$H$,$G$-$^$9!#(B</p>
-
- </section>
-
- <directivesynopsis>
- <name>SSIEndTag</name>
- <description>include $BMWAG$r=*N;$5$;$kJ8;zNs(B</description>
- <syntax>SSIEndTag <em>tag</em></syntax>
- <default>SSIEndTag "-->"</default>
- <contextlist><context>server config</context>
- <context>virtual host</context></contextlist>
- <compatibility>$B%P!<%8%g%s(B 2.0.30 $B0J9_$G;HMQ2DG=!#(B
- </compatibility>
-
- <usage>
- <p>$B$3$N%G%#%l%/%F%#%V$O(B mod_include $B$,C5$9!"(Binclude $BMWAG$N=*N;$r<($9(B
- $BJ8;zNs$rJQ99$7$^$9!#(B</p>
-
- <example>
- <title>$BNc(B</title>
- SSIEndTag "%>"
- </example>
-
- </usage>
- <seealso><directive module="mod_include">SSIStartTag</directive></seealso>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>SSIUndefinedEcho</name>
- <description>$BL$Dj5A$NJQ?t$,(B echo $B$5$l$?$H$-$KI=<($5$l$kJ8;zNs(B</description>
- <syntax>SSIUndefinedEcho <em>tag</em></syntax>
- <default>SSIUndefinedEcho "(none)"</default>
- <contextlist><context>server config</context>
- <context>virtual host</context></contextlist>
- <compatibility>$B%P!<%8%g%s(B 2.0.34 $B0J9_$G;HMQ2DG=!#(B
- </compatibility>
-
- <usage>
- <p>$B$3$N%G%#%l%/%F%#%V$OJQ?t$,Dj5A$5$l$F$$$J$$$K$b4X$o$i$:(B
- "echo" $B$5$l$?$H$-$K(B mod_include $B$,I=<($9$kJ8;zNs$r(B
- $BJQ99$7$^$9!#(B</p>
-
- <example>
- <title>$BNc(B</title>
- SSIUndefinedEcho "<!-- undef -->"
- </example>
-
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>SSIErrorMsg</name>
- <description>SSI $B$N%(%i!<$,$"$C$?$H$-$KI=<($5$l$k%(%i!<%a%C%;!<%8(B</description>
- <syntax>SSIErrorMsg <em>message</em></syntax>
- <default>SSIErrorMsg
- "[an error occurred while processing this directive]"</default>
- <contextlist>
- <context>server config</context>
- <context>virtual host</context>
- <context>directory</context>
- <context>.htaccess</context>
- </contextlist>
- <override>All</override>
- <compatibility>$B%P!<%8%g%s(B 2.0.30 $B0J9_$G;HMQ2DG=(B</compatibility>
-
- <usage>
- <p>SSIErrorMsg $B%G%#%l%/%F%#%V$O(B mod_include $B$,%(%i!<$,5/$3$C$?$H$-$K(B
- $BI=<($9$k%a%C%;!<%8$rJQ99$7$^$9!#%W%m%@%/%7%g%s%5!<%P$G$O(B
- $B%a%C%;!<%8$,%f!<%6$KI=<($5$l$J$$$h$&$K$9$k$?$a$K(B
- $B%G%U%)%k%H%(%i!<%a%C%;!<%8$r(B <code>"<!-- Error -->"</code>
- $B$KJQ$($k$H$$$&$h$&$J$3$H$r9M$($k$+$b$7$l$^$;$s!#(B</p>
-
- <p>$B$3$N%G%#%l%/%F%#%V$O(B <code><!--#config
- errmsg=<em>message</em> --></code> $BMWAG$HF1$88z2L$K$J$j$^$9!#(B</p>
-
- <example>
- <title>$BNc(B</title>
- SSIErrorMsg "<!-- Error -->"
- </example>
-
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>SSIStartTag</name>
- <description>include $BMWAG$r3+;O$9$kJ8;zNs(B</description>
- <syntax>SSIStartTag <em>tag</em></syntax>
- <default>SSIStartTag "<!--"</default>
- <contextlist>
- <context>server config</context>
- <context>virtual host</context>
- </contextlist>
- <compatibility>$B%P!<%8%g%s(B 2.0.30 $B0J9_$G;HMQ2DG=!#(B</compatibility>
-
- <usage>
-
- <p>$B$3$N%G%#%l%/%F%#%V$O(B mod_include $B$,C5$9!"(Binclude $BMWAG$N3+;O$r(B
- $B<($9J8;zNs$rJQ99$7$^$9!#(B</p>
-
- <p>$BFs$D$N%5!<%P$,(B ($B$b$7$+$9$k$H0c$&$H$-$K(B) $B%U%!%$%k$N=PNO$r2r@O$7$F$$$F!"(B
- $B$=$l$>$l$K0c$&%3%^%s%I$r=hM}$5$;$?$$!"(B
- $B$H$$$&$h$&$J$H$-$K$3$N%*%W%7%g%s$r;H$$$^$9!#(B</p>
-
- <example>
- <title>$BNc(B</title>
- SSIStartTag "<%"
- </example>
-
- <p>$B>e$NNc$H!"$=$l$KBP1~$9$k(B
- <directive module="mod_include">SSIEndTag</directive> $B$r;H$&$H!"(B
- $B2<$NNc$NMM$K$7$F(B SSI $B%G%#%l%/%F%#%V$r;H$&$3$H$,$G$-$^$9(B:</p>
-
- <example>
- <title>$B0c$&3+;O$H=*N;$N%?%0$r;H$C$?(B SSI $B%G%#%l%/%F%#%V(B</title>
- <%#printenv %>
- </example>
-
- </usage>
- <seealso><directive module="mod_include">SSIEndTag</directive></seealso>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>SSITimeFormat</name>
- <description>$BF|IU$1$r8=$9J8;zNs$N=q<0$r@_Dj$9$k(B</description>
- <syntax>SSITimeFormat <em>formatstring</em></syntax>
- <default>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</default>
- <contextlist>
- <context>server config</context>
- <context>virtual host</context>
- <context>directory</context>
- <context>.htaccess</context>
- </contextlist>
- <override>All</override>
- <compatibility>$B%P!<%8%g%s(B 2.0.30 $B0J9_$G;HMQ2DG=!#(B</compatibility>
-
- <usage>
- <p>$B$3$N%G%#%l%/%F%#%V$O(B DATE $B4D6-JQ?t$r(B echo $B$7$FF|IU$r8=$9J8;zNs$,(B
- $BI=<($5$l$k$H$-$N=q<0$rJQ99$7$^$9!#(B<em>formatstring</em> $B$O(B
- C $BI8=`%i%$%V%i%j$N(B strftime(3) $B$HF1$87A<0$G$9!#(B</p>
-
- <p>$B$3$N%G%#%l%/%F%#%V$O(B <code><!--#config
- timefmt=<em>formatstring</em> --></code> $BMWAG$HF1$88z2L$K$J$j$^$9!#(B</p>
-
- <example>
- <title>$BNc(B</title>
- SSITimeFormat "%R, %B %d, %Y"
- </example>
-
- <p>$B>e$N%G%#%l%/%F%#%V$G$O!"F|IU$O(B "22:26, June 14, 2002" $B$H$$$&(B
- $B7A<0$GI=<($5$l$^$9!#(B</p>
-
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>XBitHack</name>
- <description>$B<B9T%S%C%H$,@_Dj$5$l$?%U%!%$%k$N(B SSI $B%G%#%l%/%F%#%V$r(B
- $B2r@O$9$k(B</description>
- <syntax>XBitHack on|off|full</syntax>
- <default>XBitHack off</default>
- <contextlist>
- <context>server config</context>
- <context>virtual host</context>
- <context>directory</context>
- <context>.htaccess</context>
- </contextlist>
- <override>Options</override>
-
- <usage>
- <p>XBitHack $B%G%#%l%/%F%#%V$ODL>o$N(B HTML $B%I%-%e%a%s%H$N2r@O$r(B
- $B@)8f$7$^$9!#$3$N%G%#%l%/%F%#%V$O(B MIME $B%?%$%W(B <code>text/html</code>
- $B$H4XO"IU$1$i$l$F$$$k%U%!%$%k$K$N$_1F6A$7$^$9!#(BXBitHack $B$O(B
- $B0J2<$NCM$r$H$k$3$H$,$G$-$^$9(B:</p>
-
- <dl>
- <dt>off</dt>
-
- <dd>$B<B9T2DG=%U%!%$%k$KBP$7$FFCJL$J07$$$r$7$^$;$s!#(B</dd>
-
- <dt>on</dt>
-
- <dd>$B%f!<%6$N<B9T%S%C%H$,@_Dj$5$l$F$$$k(B text/html $B%U%!%$%k$,(B
- SSI html $B%I%-%e%a%s%H$H$7$F07$o$l$^$9!#(B</dd>
-
- <dt>full</dt>
-
- <dd>
- <code>on</code> $B$HF1MM$G$9$,!"%0%k!<%W<B9T%S%C%H$b%F%9%H$7$^$9!#(B
- $B$b$7$=$l$,@_Dj$5$l$F$$$l$P!"JV$5$l$k%U%!%$%k$N(B Last-modified $B$N(B
- $BF|IU$r%U%!%$%k$N:G=*=$@5;~9o$K$7$^$9!#$=$l$,@_Dj$5$l$F$$$J$$$H$-$O!"(B
- last-modified $B$NF|IU$OAw$i$l$^$;$s!#$3$N%S%C%H$r@_Dj$9$k$H!"(B
- $B%/%i%$%"%s%H$d%W%m%-%7$,%j%/%(%9%H$r%-%c%C%7%e$G$-$k$h$&$K$J$j$^$9!#(B
-
- <note><strong>$BCm0U(B:</strong> $BB>$N(B CGI $B$r(B <code>#include</code>
- $B$9$k$+$b$7$l$J$$$b$N$d!"3F%"%/%;%9$KBP$7$F0c$&=PNO$r@8@.$9$k(B
- ($B$b$7$/$O8e$N%j%/%(%9%H$GJQ$o$k$+$b$7$l$J$$$b$N(B)
- $B$9$Y$F$N(B SSI $B%9%/%j%W%H$KBP$7$F%0%k!<%W<B9T%S%C%H$,(B
- $B@_Dj$5$l$F$$$J$$$3$H$r3NG'$G$-$J$$>l9g$O!"(Bfull $B$O;H$o$J$$J}$,NI$$(B
- $B$G$7$g$&!#(B</note>
- </dd>
- </dl>
-
- </usage>
- </directivesynopsis>
-
- </modulesynopsis>
-
- <?xml version="1.0" encoding="UTF-8" ?>
-
- <metafile>
- <basename>mod_include</basename>
- <path>/mod/</path>
- <relpath>..</relpath>
-
- <variants>
- <variant>en</variant>
- <variant>ja</variant>
- </variants>
- </metafile>
- <?xml version="1.0"?>
- <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
- <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
- <modulesynopsis metafile="mod_info.xml.meta">
-
- <name>mod_info</name>
- <description>Provides a comprehensive overview of the server
- configuration</description>
- <status>Extension</status>
- <sourcefile>mod_info.c</sourcefile>
- <identifier>info_module</identifier>
-
- <summary>
- <p>To configure <module>mod_info</module>, add the following to your
- <code>httpd.conf</code> file.</p>
-
- <example>
- <Location /server-info><br />
- <indent>
- SetHandler server-info<br />
- </indent>
- </Location>
- </example>
-
- <p>You may wish to add a
- <directive type="section" module="core">Limit</directive>
- clause inside the
- <directive type="section" module="core">Location</directive>
- directive to limit access to your server configuration
- information.</p>
-
- <p>Once configured, the server information is obtained by
- accessing <code>http://your.host.dom/server-info</code></p>
-
- <note>
- Note that the configuration files are read by the
- module at run-time, and therefore the display may
- <em>not</em> reflect the running server's active
- configuration if the files have been changed since the server
- was last reloaded. Also, the configuration files must be
- readable by the user as which the server is running (see the
- <directive module="mpm_common">User</directive> directive), or
- else the directive settings will not be listed.
-
- <p>It should also be noted that if
- <module>mod_info</module> is compiled into the server, its
- handler capability is available in <em>all</em> configuration
- files, including per-directory files (<em>e.g.</em>,
- <code>.htaccess</code>). This may have security-related
- ramifications for your site.</p>
-
- <p>In particular, this module can leak sensitive information
- from the configuration directives of other Apache modules such as
- system paths, usernames/passwords, database names, etc. Due to
- the way this module works there is no way to block information
- from it. Therefore, this module should <strong>only</strong> be
- used in a controlled environment and always with caution.</p>
- </note>
- </summary>
-
- <directivesynopsis>
- <name>AddModuleInfo</name>
- <description>Adds additional information to the module
- information displayed by the server-info handler</description>
- <syntax>AddModuleInfo <var>module-name</var> <var>string</var></syntax>
- <contextlist><context>server config</context><context>virtual host</context>
- </contextlist>
- <compatibility>Apache 1.3 and above</compatibility>
-
- <usage>
- <p>This allows the content of <var>string</var> to be shown as
- HTML interpreted, <strong>Additional Information</strong> for
- the module <var>module-name</var>. Example:</p>
-
- <example>
- AddModuleInfo mod_auth.c 'See <a \<br />
- <indent>
- href="http://www.apache.org/docs-2.0/mod/mod_auth.html">\<br />
- http://www.apache.org/docs-2.0/mod/mod_auth.html</a>'
- </indent>
- </example>
- </usage>
-
- </directivesynopsis>
- </modulesynopsis>
-
- <?xml version="1.0" encoding="iso-2022-jp"?>
- <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
- <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
- <modulesynopsis metafile="mod_info.xml.meta">
- <!-- English revision: 1.9 -->
-
- <name>mod_info</name>
- <description>$B%5!<%P$N@_Dj$NJq3gE*$J354Q$rDs6!$9$k(B</description>
- <status>Extension</status>
- <sourcefile>mod_info.c</sourcefile>
- <identifier>info_module</identifier>
-
-
- <summary>
-
- <p><module>mod_info</module> $B$r@_Dj$9$k$K$O!"0J2<$r(B <code>httpd.conf</code>
- $B%U%!%$%k$K2C$($^$9!#(B</p>
-
- <example>
- <Location /server-info><br />
- SetHandler server-info<br />
- </Location><br />
- </example>
-
- <p>$B%5!<%P@_Dj$N>pJs$X$N%"%/%;%9$r@)8B$9$k$?$a$K!"(B
- <directive type="section" module="core">Location</directive>
- $B%G%#%l%/%F%#%V$NCf$K(B <directive type="section" module="core">Limit</directive>
- $B@a$rF~$l$k$H$h$$$+$b$7$l$^$;$s!#(B</p>
-
- <p>$B0lC6@_Dj$9$k$H!"(B<code>http://your.host.dom/server-info</code>
- $B$r%"%/%;%9$9$k$3$H$G%5!<%P$N>pJs$rF@$i$l$k$h$&$K$J$j$^$9!#(B</p>
-
- <note>
- <p>$B$3$N%b%8%e!<%k$O<B9T;~$K@_Dj%U%!%$%k$rFI$_9~$_$^$9!#(B
- $B%5!<%P$N@_Dj%U%!%$%k$,:G8e$K%5!<%P$KFI$_9~$^$l$?8e$KJQ99$5$l$F$$$k(B
- $B>l9g$K$O!"I=<($5$l$F$$$kFbMF$O<B9T$5$l$F$$$k%5!<%P$N@_Dj$rH?1G$7$F(B
- <em>$B$$$J$$(B</em>$B$+$b$7$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#(B
- $B$^$?!"@_Dj%U%!%$%k$O%5!<%P$,<B9T$5$l$F$$$k%f!<%6$N8"8B$G(B
- $BFI$_9~$_5v2D$,M?$($i$l$F$$$kI,MW$,$"$j$^$9(B
- (<directive module="mpm_common">User</directive>
- $B%G%#%l%/%F%#%V$r;2>H$7$F$/$@$5$$(B)$B!#(B
- $B$G$J$1$l$P!"%G%#%l%/%F%#%V$N@_Dj$OI=<($5$l$^$;$s!#(B</p>
-
- <p><module>mod_info</module>
- $B$,%5!<%P$KAH$_9~$^$l$F$$$k>l9g$O!"%G%#%l%/%H%j(B<em>$BKh(B</em>$B$N%U%!%$%k(B
- ($BNc$($P!"(B<code>.htaccess</code>) $B$r4^$`$9$Y$F$N@_Dj%U%!%$%k$G(B
- $B%O%s%I%i$r;HMQ2DG=$G$"$k$H$$$&$3$H$K$bCm0U$7$F$/$@$5$$!#(B
- $B$3$l$O!"$"$J$?$N%5%$%H$G$O%;%-%e%j%F%#$K4XO"$7$?LdBj$,$"$k$+$b$7$l$^$;$s!#(B
- </p>
-
- <p>$BFC$K!"$3$N%b%8%e!<%k$O%7%9%F%`%Q%9!"%f!<%6L>(B/$B%Q%9%o!<%I!"(B
- $B%G!<%?%Y!<%9L>$J$I!"B>$N(B Apache $B%b%8%e!<%k$N@_Dj%G%#%l%/%F%#%V$+$i(B
- $B%;%-%e%j%F%#>eHyL/$J>pJs$rO3$i$92DG=@-$,$"$j$^$9!#(B
- $B$3$N%b%8%e!<%k$NF0:nJ}K!$N$;$$$G!">pJs$NN.=P$rKI$0J}K!$O$"$j$^$;$s!#(B
- $B$G$9$+$i!"$3$N%b%8%e!<%k$O$A$c$s$H%"%/%;%9$,@)8f$5$l$?4D6-$G!"(B
- $BCm0U$7$F;H$C$F$/$@$5$$!#(B</p>
- </note>
- </summary>
-
- <directivesynopsis>
- <name>AddModuleInfo</name>
- <description>server-info $B%O%s%I%i$K$h$jI=<($5$l$k%b%8%e!<%k$N>pJs$K(B
- $BDI2C$N>pJs$rIU$12C$($k(B</description>
- <syntax>AddModuleInfo <em>module-name string</em></syntax>
- <contextlist><context>server config</context>
- <context>virtual host</context></contextlist>
- <compatibility>Apache 1.3 $B0J9_(B</compatibility>
-
- <usage>
- <p>$B$3$l$O!"(B<em>string</em> $B$NFbMF$,%b%8%e!<%k(B <em>module-name</em>
- $B$N(B<strong>$BDI2C>pJs(B</strong> $B$H$7$F(B HTML
- $B$H$7$F2r<a$5$l!"I=<($5$l$k$h$&$K$7$^$9!#Nc(B:</p>
-
- <example>
- AddModuleInfo mod_authn_file.c 'See <a \<br />
- <indent>
- href="http://www.apache.org/docs-2.0/mod/mod_authn_file.html">\<br />
- http://www.apache.org/docs-2.0/mod/mod_authn_file.html</a>'
- </indent>
- </example>
- </usage>
-
- </directivesynopsis>
- </modulesynopsis>
-
- <?xml version="1.0" encoding="UTF-8" ?>
-
- <metafile>
- <basename>mod_info</basename>
- <path>/mod/</path>
- <relpath>..</relpath>
-
- <variants>
- <variant>en</variant>
- <variant>ja</variant>
- </variants>
- </metafile>
- <?xml version="1.0"?>
- <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
- <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
- <modulesynopsis metafile="mod_isapi.xml.meta">
-
- <name>mod_isapi</name>
- <description>ISAPI Extensions within Apache for Windows</description>
- <status>Base</status>
- <sourcefile>mod_isapi.c</sourcefile>
- <identifier>isapi_module</identifier>
- <compatibility>Win32 only</compatibility>
-
- <summary>
- <p>This module implements the Internet Server extension API. It
- allows Internet Server extensions (<em>e.g.</em> ISAPI .dll
- modules) to be served by Apache for Windows, subject to the
- noted restrictions.</p>
-
- <p>ISAPI extension modules (.dll files) are written by third
- parties. The Apache Group does not author these modules, so we
- provide no support for them. Please contact the ISAPI's author
- directly if you are experiencing problems running their ISAPI
- extension. <strong>Please <em>do not</em> post such problems to
- Apache's lists or bug reporting pages.</strong></p>
- </summary>
-
- <section id="usage"><title>Usage</title>
-
- <p>In the server configuration file, use
- the <directive module="mod_mime">AddHandler</directive> directive to
- associate ISAPI files with the <code>isapi-isa</code> handler, and map
- it to them with their file extensions. To enable any .dll file to be
- processed as an ISAPI extension, edit the httpd.conf file and add the
- following line:</p>
- <example>
- AddHandler isapi-isa .dll
- </example>
-
- <p>There is no capability within the Apache server to leave a
- requested module loaded. However, you may preload and keep a
- specific module loaded by using the following syntax in your
- httpd.conf:</p>
- <example>
- ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll
- </example>
-
- <p>Whether or not you have preloaded an ISAPI extension, all
- ISAPI extensions are governed by the same permissions and
- restrictions as CGI scripts. That is, <directive module="core"
- >Options</directive> <code>ExecCGI</code> must be set for the
- directory that contains the ISAPI .dll file.</p>
-
- <p>Review the <a href="#notes">Additional Notes</a> and the <a
- href="#journal">Programmer's Journal</a> for additional details
- and clarification of the specific ISAPI support offered by
- <module>mod_isapi</module>.</p>
- </section>
-
- <section id="notes"><title>Additional Notes</title>
-
- <p>Apache's ISAPI implementation conforms to all of the ISAPI
- 2.0 specification, except for some "Microsoft-specific"
- extensions dealing with asynchronous I/O. Apache's I/O model
- does not allow asynchronous reading and writing in a manner
- that the ISAPI could access. If an ISA tries to access
- unsupported features, including async I/O, a message is placed
- in the error log to help with debugging. Since these messages
- can become a flood, the directive <code>ISAPILogNotSupported
- Off</code> exists to quiet this noise.</p>
-
- <p>Some servers, like Microsoft IIS, load the ISAPI extension
- into the server and keep it loaded until memory usage is too
- high, or unless configuration options are specified. Apache
- currently loads and unloads the ISAPI extension each time it is
- requested, unless the <directive module="mod_isapi"
- >ISAPICacheFile</directive> directive is specified.
- This is inefficient, but Apache's memory model makes this the
- most effective method. Many ISAPI modules are subtly
- incompatible with the Apache server, and unloading these
- modules helps to ensure the stability of the server.</p>
-
- <p>Also, remember that while Apache supports ISAPI Extensions,
- it <strong>does not support ISAPI Filters</strong>. Support for
- filters may be added at a later date, but no support is planned
- at this time.</p>
- </section>
-
- <section id="journal"><title>Programmer's Journal</title>
-
- <p>If you are programming Apache 2.0 <module>mod_isapi</module>
- modules, you must limit your calls to <code>ServerSupportFunction</code>
- to the following directives:</p>
-
- <dl>
- <dt><code>HSE_REQ_SEND_URL_REDIRECT_RESP</code></dt>
- <dd>Redirect the user to another location.<br />
- This must be a fully qualified URL (<em>e.g.</em>
- <code>http://server/location</code>).</dd>
-
- <dt><code>HSE_REQ_SEND_URL</code></dt>
- <dd>Redirect the user to another location.<br />
- This cannot be a fully qualified URL, you are not allowed to
- pass the protocol or a server name (<em>e.g.</em> simply
- <code>/location</code>).<br />
- This redirection is handled by the server, not the
- browser.<br />
- <note type="warning"><title>Warning</title>
- <p>In their recent documentation, Microsoft appears to have
- abandoned the distinction between the two
- <code>HSE_REQ_SEND_URL</code> functions. Apache continues to treat
- them as two distinct functions with different requirements
- and behaviors.</p>
- </note></dd>
-
- <dt><code>HSE_REQ_SEND_RESPONSE_HEADER</code></dt>
- <dd>Apache accepts a response body following the header if it
- follows the blank line (two consecutive newlines) in the
- headers string argument. This body cannot contain NULLs,
- since the headers argument is NULL terminated.</dd>
-
- <dt><code>HSE_REQ_DONE_WITH_SESSION</code></dt>
- <dd>Apache considers this a no-op, since the session will be
- finished when the ISAPI returns from processing.</dd>
-
- <dt><code>HSE_REQ_MAP_URL_TO_PATH</code></dt>
- <dd>Apache will translate a virtual name to a physical
- name.</dd>
-
- <dt><code>HSE_APPEND_LOG_PARAMETER</code></dt>
- <dd>
- This logged message may be captured in any of the following
- logs:
-
- <ul>
- <li>in the <code>\"%{isapi-parameter}n\"</code> component in a
- <directive module="mod_log_config">CustomLog</directive>
- directive</li>
-
- <li>in the <code>%q</code> log component with the
- <directive module="mod_isapi">ISAPIAppendLogToQuery</directive>
- <code>On</code> directive</li>
-
- <li>in the error log with the <directive module="mod_isapi"
- >ISAPIAppendLogToErrors</directive> <code>On</code> directive</li>
- </ul>
-
- <p>The first option, the <code>%{isapi-parameter}n</code> component,
- is always available and preferred.</p>
- </dd>
-
- <dt><code>HSE_REQ_IS_KEEP_CONN</code></dt>
- <dd>Will return the negotiated Keep-Alive status.</dd>
-
- <dt><code>HSE_REQ_SEND_RESPONSE_HEADER_EX</code></dt>
- <dd>Will behave as documented, although the <code>fKeepConn</code>
- flag is ignored.</dd>
-
- <dt><code>HSE_REQ_IS_CONNECTED</code></dt>
- <dd>Will report false if the request has been aborted.</dd>
- </dl>
-
- <p>Apache returns <code>FALSE</code> to any unsupported call to
- <code>ServerSupportFunction</code>, and sets the
- <code>GetLastError</code> value to
- <code>ERROR_INVALID_PARAMETER</code>.</p>
-
- <p><code>ReadClient</code> retrieves the request body exceeding the
- initial buffer (defined by <directive module="mod_isapi"
- >ISAPIReadAheadBuffer</directive>). Based on the
- <directive>ISAPIReadAheadBuffer</directive> setting (number of bytes
- to buffer prior to calling the ISAPI handler) shorter requests are sent
- complete to the extension when it is invoked. If the request is
- longer, the ISAPI extension must use <code>ReadClient</code> to
- retrieve