<?xml version="1.0" encoding="iso-2022-jp"?>
<!DOCTYPE quickreference SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
<!-- English Revision: 151408 -->

<!--
 Copyright 2002-2005 The Apache Software Foundation or its licensors,
                     as applicable.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<quickreference metafile="quickreference.xml.meta">
  <title>$B%G%#%l%/%F%#%V(B $B%/%$%C%/%j%U%!%l%s%9(B</title>
  <summary>
    <p>$B%G%#%l%/%F%#%V(B $B%/%$%C%/%j%U%!%l%s%9$G$O!"3F(B Apache $B@_Dj%G%#%l%/%F%#%V$N(B
    $B;HMQJ}K!!"%G%U%)%k%HCM!"%9%F!<%?%9$H%3%s%F%-%9%H$r<($7$F$$$^$9!#(B
    $B3F%G%#%l%/%F%#%V$N!"$h$j>\$7$$>pJs$K4X$7$F$O(B
    <a href="directive-dict.html">$B%G%#%l%/%F%#%V<-=q(B</a>$B$r(B
    $B$4Mw2<$5$$!#(B</p>

    <p>$BBh(B 1 $BNsL\$O%G%#%l%/%F%#%V$NL>A0$H;HMQJ}K!$G$9!#(B
    $BBh(B 2 $BNsL\$O(B ($B$b$7$"$l$P(B) $B%G%U%)%k%HCM$H$J$C$F$$$^$9!#(B
    $B%G%U%)%k%HCM$,D9$9$.$FI=<($7$-$l$J$$>l9g$O!":G=i$NJ8;zNs$N8e$m$K(B
    $B!V(B + $B!W$,B3$-$^$9!#(B</p>

    <p>$BBh(B 3, 4 $BNs$O!"2<$NI=$NCm<a$K=>$C$F!"(B
    $B%G%#%l%/%F%#%V$N;HMQ$G$-$k%3%s%F%-%9%H$H!"(B
    $B%G%#%l%/%F%#%V$N%9%F!<%?%9$,<($5$l$F$$$^$9!#(B</p>
  </summary>

  <legend>
    <table>
      <columnspec><column width=".1"/><column width=".2"/></columnspec>
      <tr><th>s</th><td>$B%5!<%P@_Dj%U%!%$%k(B</td></tr>
      <tr><th>v</th><td>$B%P!<%A%c%k%[%9%H(B</td></tr>
      <tr><th>d</th><td>$B%G%#%l%/%H%j(B</td></tr>
      <tr><th>h</th><td>.htaccess</td></tr>
    </table>

    <table>
      <columnspec><column width=".1"/><column width=".2"/></columnspec>
      <tr><th>C</th><td>Core</td></tr>
      <tr><th>M</th><td>MPM</td></tr>
      <tr><th>B</th><td>Base</td></tr>
      <tr><th>E</th><td>Extension</td></tr>
      <tr><th>X</th><td>Experimental</td></tr>
    </table>
  </legend>
</quickreference>
