Target Apache versions with IfVersion
Apache provides a convenient way to conditionally check for its version number, which can be useful when writing directives that require specific modules and configurations. This tutorial explains how it’s done with a few simple examples.
Thanks to Apache’s version module, mod_version, we conditionally may check Apache’s current version number. This module is available in Apache 2.0.56 and later.
Currently the only directive included in mod_version
is <IfVersion>
, which may be included via the server configuration file, virtual host, directory, or .htaccess. So it’s a pretty straightforward module to learn. Let’s look at some examples of <IfVersion>
to see how it works.
Examples
Greater than or equal to a specific version of Apache:
<IfVersion >= 2.4>
# do stuff for Apache greater than or equal to version 2.4.0
</IfVersion>
Less than specific Apache version:
<IfVersion < 2.3>
# do stuff for Apache less than version 2.3.0
</IfVersion>
Using a regular expression to match specific version numbers:
<IfVersion = /^2.4.[01234]$/>
# matches versions 2.4.0, 2.4.1, 2.4.2, 2.4.3, 2.4.4
</IfVersion>
Instead of forward-slashing the regex as in the previous example, we can replace the slashes with a tilde ~
:
<IfVersion !~ ^2.4.[01234]$>
# matches any version that is NOT 2.4.0, 2.4.1, 2.4.2, 2.4.3, 2.4.4
</IfVersion>
Notice here that we are negating the regular expression by prefixing it with an exclamation point !
. Also note that if the operator is omitted, it’s assumed to be “equals” =
. You can get more details in the Apache documentation.