mirror of
https://github.com/apache/httpd.git
synced 2025-11-02 06:53:27 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1331230 13f79535-47bb-0310-9956-ffa450edef68
135 lines
4.8 KiB
XML
135 lines
4.8 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
|
|
<!-- $LastChangedRevision$ -->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You 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.0.56 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>
|
|
<highlight language="config">
|
|
<IfVersion 2.4.2>
|
|
# current httpd version is exactly 2.4.2
|
|
</IfVersion>
|
|
|
|
<IfVersion >= 2.5>
|
|
# use really new features :-)
|
|
</IfVersion>
|
|
</highlight>
|
|
</example>
|
|
|
|
<p>See below for further possibilities.</p>
|
|
</summary>
|
|
|
|
<directivesynopsis type="section">
|
|
<name>IfVersion</name>
|
|
<description>contains version dependent configuration</description>
|
|
<syntax><IfVersion [[!]<var>operator</var>] <var>version</var>> ...
|
|
</IfVersion></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
|
|
<program>httpd</program> 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 style="zebra" border="1">
|
|
<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>></code></td>
|
|
<td>httpd version is greater than</td></tr>
|
|
<tr><td><code>>=</code></td>
|
|
<td>httpd version is greater or equal</td></tr>
|
|
<tr><td><code><</code></td>
|
|
<td>httpd version is less than</td></tr>
|
|
<tr><td><code><=</code></td>
|
|
<td>httpd version is less or equal</td></tr>
|
|
</table>
|
|
|
|
<example><title>Example</title>
|
|
<highlight language="config">
|
|
<IfVersion >= 2.3>
|
|
# this happens only in versions greater or
|
|
# equal 2.3.0.
|
|
</IfVersion>
|
|
</highlight>
|
|
</example>
|
|
|
|
<p>Besides the numerical comparison it is possible to match a
|
|
<glossary ref="regex">regular expression</glossary>
|
|
against the httpd version. There are two ways to write it:</p>
|
|
|
|
<table style="zebra" border="1">
|
|
<tr><th><var>operator</var></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>
|
|
<highlight language="config">
|
|
<IfVersion = /^2.4.[01234]$/>
|
|
# e.g. workaround for buggy versions
|
|
</IfVersion>
|
|
</highlight>
|
|
</example>
|
|
|
|
<p>In order to reverse the meaning, all operators can be preceded by an
|
|
exclamation mark (<code>!</code>):</p>
|
|
|
|
<highlight language="config">
|
|
<IfVersion !~ ^2.4.[01234]$>
|
|
# not for those versions
|
|
</IfVersion>
|
|
</highlight>
|
|
|
|
<p>If the <var>operator</var> is omitted, it is assumed to be
|
|
<code>=</code>.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
</modulesynopsis>
|