mod_version - Apache HTTP Server Version 2.2

Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2 > Modules

# 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.