]> granicus.if.org Git - apache/commitdiff
describe mod_version, please review.
authorAndré Malo <nd@apache.org>
Mon, 12 Apr 2004 15:50:43 +0000 (15:50 +0000)
committerAndré Malo <nd@apache.org>
Mon, 12 Apr 2004 15:50:43 +0000 (15:50 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103350 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_version.xml [new file with mode: 0755]

diff --git a/docs/manual/mod/mod_version.xml b/docs/manual/mod/mod_version.xml
new file mode 100755 (executable)
index 0000000..8ada1df
--- /dev/null
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+
+<!--
+ Copyright 2004 The Apache Software Foundation
+
+ 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.
+-->
+
+<modulesynopsis metafile="mod_version.xml.meta">
+<name>mod_version</name>
+<description>Version dependent configuration</description>
+<status>Extension</status>
+<sourcefile>mod_version.c</sourcefile>
+<identifier>version_module</identifier>
+<compatibility>Available in version 2.1 and later</compatibility>
+
+<summary>
+    <p>This module is designed for the use in test suites and large
+    networks which have to deal with different httpd versions and
+    different configurations. It provides a new container -- <directive
+    type="section" module="mod_version">IfVersion</directive>, which
+    allows a flexible version checking including numeric comparisons and
+    regular expressions.</p>
+
+    <example><title>Examples</title>
+      &lt;IfVersion 2.1.0&gt;<br />
+      <indent>
+        # current httpd version is exactly 2.1.0<br />
+      </indent>
+      &lt;/IfVersion&gt;<br />
+      <br />
+      &lt;IfVersion >= 2.2&gt;<br />
+      <indent>
+        # use really new features :-)<br />
+      </indent>
+      &lt;/IfVersion&gt;
+    </example>
+
+    <p>See below for further possibilities.</p>
+</summary>
+
+<directivesynopsis type="section">
+<name>IfVersion</name>
+<description>contains version dependent configuration</description>
+<syntax>&lt;IfVersion [[!]<var>operator</var>] <var>version</var>&gt; ...
+&lt;/IfVersion&gt;</syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+    <p>The <directive type="section">IfVersion</directive> section encloses
+    configuration directives which are executed only if the httpd version
+    matches the desired criteria. For normal (numeric) comparisons the
+    <var>version</var> argument has the format
+    <code><var>major</var>[.<var>minor</var>[.<var>patch</var>]]</code>, e.g.
+    <code>2.1.0</code> or <code>2.2</code>. <var>minor</var> and
+    <var>patch</var> are optional. If these numbers are omitted, they are
+    assumed to be zero. The following numerical <var>operator</var>s are
+    possible:</p>
+
+    <table>
+    <tr><th><var>operator</var></th><th>description</th></tr>
+    <tr><td><code>=</code> or <code>==</code></td>
+        <td>httpd version is equal</td></tr>
+    <tr><td><code>&gt;</code></td>
+        <td>httpd version is greater than</td></tr>
+    <tr><td><code>&gt;=</code></td>
+        <td>httpd version is greater or equal</td></tr>
+    <tr><td><code>&lt;</code></td>
+        <td>httpd version is less than</td></tr>
+    <tr><td><code>&lt;=</code></td>
+        <td>httpd version is less or equal</td></tr>
+    </table>
+
+    <example><title>Example</title>
+      &lt;IfVersion >= 2.1&gt;<br />
+      <indent>
+        # this happens only in versions greater or<br />
+        # equal 2.1.0.<br />
+      </indent>
+      &lt;/IfVersion&gt;
+    </example>
+
+    <p>Besides the numerical comparison it is possible to match a regular
+    expression against the httpd version. There are two ways to write it:</p>
+
+    <table>
+    <tr><th>operator</th><th>description</th></tr>
+    <tr><td><code>=</code> or <code>==</code></td>
+        <td><var>version</var> has the form
+            <code>/<var>regex</var>/</code></td></tr>
+    <tr><td><code>~</code></td>
+        <td><var>version</var> has the form
+            <code><var>regex</var></code></td></tr>
+    </table>
+
+    <example><title>Example</title>
+      &lt;IfVersion = /^2.1.[01234]$/&gt;<br />
+      <indent>
+        # e.g. workaround for buggy versions
+      </indent>
+      &lt;/IfVersion&gt;
+    </example>
+
+    <p>In order to reverse the meaning, all operators can be preceded by an
+    exclamation mark (<code>!</code>):</p>
+
+    <example>
+      &lt;IfVersion !~ ^2.1.[01234]$&gt;<br />
+      <indent>
+        # not for those versions<br />
+      </indent>
+      &lt;/IfVersion&gt;
+    </example>
+
+    <p>If the operator is omitted, it is assumed to be <code>=</code>.</p>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>