Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2 > Modules

#### Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

# Apache Module mod_version

Available Languages: en | ja | ko

Description: | Version dependent configuration
Status: | Extension
Module Identifier: | version_module
Source File: | mod_version.c
Compatibility: | Available in version 2.0.56 and later

### Summary

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 -- `<IfVersion>`, which allows a flexible version checking including numeric comparisons and regular expressions.

### Examples

`<IfVersion 2.1.0>
# current httpd version is exactly 2.1.0
</IfVersion>
<IfVersion >= 2.2>
# use really new features :-)
</IfVersion>`

See below for further possibilities.

### Directives

- Comments

## <IfVersion> Directive

Description: | contains version dependent configuration
Syntax: | `<IfVersion [[!]operator] version> ... </IfVersion>`
Context: | server config, virtual host, directory, .htaccess
Override: | All
Status: | Extension
Module: | mod_version

The `<IfVersion>` section encloses configuration directives which are executed only if the `httpd` version matches the desired criteria. For normal (numeric) comparisons the version argument has the format `major[.minor[.patch]]`, e.g. `2.1.0` or `2.2`. minor and patch are optional. If these numbers are omitted, they are assumed to be zero. The following numerical operators are possible:

operator | description
--- | ---
`=` or `==` | httpd version is equal
`>` | httpd version is greater than
`>=` | httpd version is greater or equal
`<` | httpd version is less than
`<=` | httpd version is less or equal

### Example

`<IfVersion >= 2.1>
# this happens only in versions greater or
# equal 2.1.0.
</IfVersion>`

Besides the numerical comparison it is possible to match a regular expression against the httpd version. There are two ways to write it:

operator | description
--- | ---
`=` or `==` | version has the form `/regex/`
`~` | version has the form `regex`

### Example

`<IfVersion = /^2.1.[01234]$/>
# e.g. workaround for buggy versions </IfVersion>`

In order to reverse the meaning, all operators can be preceded by an exclamation mark (`!`):

`<IfVersion !~ ^2.1.[01234]$>
# not for those versions
</IfVersion>`

If the operator is omitted, it is assumed to be `=`.

Available Languages: en | ja | ko

## Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.