<li><img alt="" src="../images/down.gif" /> <a href="#httpprotocoloptions">HttpProtocolOptions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ifdirective"><IfDirective></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#iffile"><IfFile></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ifsection"><IfSection></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>In its one parameter form, <code class="directive">Define</code> is equivalent
- to passing the <code>-D</code> argument to <code class="program"><a href="../programs/httpd.html">httpd</a></code>. It
- can be used to toggle the use of
- <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sections
- without needing to alter <code>-D</code> arguments in any startup
- scripts.</p>
+ <p>In its one parameter form, <code class="directive">Define</code> is
+ equivalent to passing the <code>-D</code> argument to
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>. It can be used to toggle the use of
+ <code class="directive"><a href="#ifdefine"><IfDefine></a></code>
+ sections without needing to alter <code>-D</code> arguments in any
+ startup scripts.</p>
<p>In addition to that, if the second parameter is given, a config variable
is set to this value. The variable can be used in the configuration using
</IfDefine></pre>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IfDirective" id="IfDirective"><IfDirective></a> <a name="ifdirective" id="ifdirective">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that are processed conditional on the
+presence or absence of a specific directive</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfDirective [!]<var>directive-name</var>> ...
+ </IfDirective></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>The <code><IfDirective <var>test</var>>...</IfDirective></code>
+ section is used to mark directives that are conditional on the presence of
+ a specific directive. The directives within an <code class="directive"><IfDirective></code> section are only processed if the <var>test</var>
+ is true. If <var>test</var> is false, everything between the start and
+ end markers is ignored.</p>
+
+ <p>The <var>test</var> in the <code class="directive"><IfDirective></code> section can be one of two forms:</p>
+
+ <ul>
+ <li><var>directive-name</var></li>
+
+ <li>!<var>directive-name</var></li>
+ </ul>
+
+ <p>In the former case, the directives between the start and end
+ markers are only processed if a directive of the given name is
+ available at the time of processing. The second format reverses the test,
+ and only processes the directives if the <var>directive-name</var> is
+ <strong>not</strong> defined.</p>
+
+ <div class="note">This section should only be used if you need to have one
+ configuration file that works across multiple versions of
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>, regardless of whether a particular
+ directive is available. In normal operation, directives need not
+ be placed in <code class="directive"><IfDirective></code>
+ sections.</div>
+
+<h3>See also</h3>
+<ul>
+<li><code class="directive"><a href="#ifsection"><IfSection></a></code></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="IfFile" id="IfFile"><IfFile></a> <a name="iffile" id="iffile">Directive</a></h2>
placed in <code class="directive"><IfModule></code>
sections.</div>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IfSection" id="IfSection"><IfSection></a> <a name="ifsection" id="ifsection">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Encloses directives that are processed conditional on the
+presence or absence of a specific section directive</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfSection [!]<var>section-name</var>> ...
+ </IfSection></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>The <code><IfSection
+ <var>test</var>>...</IfSection></code> section is used
+ to mark directives that are conditional on the presence of a
+ specific section directive. A section directive is any directive
+ such as <code class="directive"><virtualhost></code> which
+ encloses other directives, and has a directive name with a leading
+ "<". The sec
+
+ The directives within an <code class="directive"><IfSection></code> section are only processed if the <var>test</var>
+ is true. If <var>test</var> is false, everything between the start and
+ end markers is ignored.</p>
+
+ <p>The <var>section-name</var> specified must not include the
+ leading "<". The <var>test</var> in the <code class="directive"><IfSection></code> section can be one of two
+ forms:</p>
+
+ <ul>
+ <li><var>section-name</var></li>
+ <li>!<var>section-name</var></li>
+ </ul>
+
+ <p>In the former case, the directives between the start and
+ end markers are only processed if a section directive of the given
+ name is available at the time of processing. The second format
+ reverses the test, and only processes the directives if the
+ <var>section-name</var> is <strong>not</strong> defined.</p>
+
+ <p>For example:</p>
+
+ <pre class="prettyprint lang-config"><IfSection VirtualHost>
+ ...
+</IfSection></pre>
+
+
+ <div class="note">This section should only be used if you need to have one
+ configuration file that works across multiple versions of <code class="program"><a href="../programs/httpd.html">httpd</a></code>,
+ regardless of whether a particular section directive is
+ available. In normal operation, directives need not be placed in
+ <code class="directive"><IfSection></code> sections.</div>
+
+<h3>See also</h3>
+<ul>
+<li><code class="directive"><a href="#ifdirective"><IfDirective></a></code></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">Directive</a></h2>
<tr class="odd"><td><a href="core.html#ifdefine"><IfDefine [!]<var>parameter-name</var>> ...
</IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that will be processed only
if a test is true at startup</td></tr>
-<tr><td><a href="core.html#iffile"><IfFile [!]<var>parameter-name</var>> ...
- </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that will be processed only
+<tr><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ...
+ </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the
+presence or absence of a specific directive</td></tr>
+<tr class="odd"><td><a href="core.html#iffile"><IfFile [!]<var>parameter-name</var>> ...
+ </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that will be processed only
if file exists at startup</td></tr>
-<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ...
- </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the
+<tr><td><a href="core.html#ifmodule"><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ...
+ </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Encloses directives that are processed conditional on the
presence or absence of a specific module</td></tr>
+<tr class="odd"><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ...
+ </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Encloses directives that are processed conditional on the
+presence or absence of a specific section directive</td></tr>
<tr><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>operator</var>] <var>version</var>> ...
</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">contains version dependent configuration</td></tr>
<tr class="odd"><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://servername/ </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Default <code>base</code> for imagemap files</td></tr>