Serveur HTTP Apache Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_version

Description: | Configuration dépendant de la version
Statut: | Extension
Identificateur de Module: | version_module
Fichier Source: | mod_version.c

### Sommaire

Ce module a été conçu pour être utilisé dans les suites de tests et les grands réseaux qui doivent prendre en compte différentes versions de httpd et différentes configurations. Il fournit un nouveau conteneur -- `<IfVersion>`, qui apporte une grande souplesse dans la vérification de version en permettant une comparaison numérique et l'utilisation d'expressions rationnelles.

### Exemples

    <IfVersion 2.4.2>
        # la version actuelle de httpd est exactement 2.4.2
    </IfVersion>

    <IfVersion >= 2.5>
        # utilise vraiment les nouvelles fonctionnalités :-)
    </IfVersion>

Voir ci-dessous pour d'autres exemples.

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

## Directive <IfVersion>

Description: | Contient des portions de configuration dépendantes de la version
Syntaxe: | `<IfVersion [[!]opérateur] version> ... </IfVersion>`
Contexte: | configuration globale, serveur virtuel, répertoire, .htaccess
Surcharges autorisées: | All
Statut: | Extension
Module: | mod_version

La section `<IfVersion>` rassemble des directives de configuration qui ne sont exécutées que si la version de httpd satisfait aux critères spécifiés. Pour une comparaison normale (numérique), l'argument version doit être spécifié sous le format `majeur[.mineur[.patch]]`, comme par exemple `2.1.0` ou `2.2`. mineur et patch sont optionnels. Si ces numéros sont absents, il se voient affectée implicitement la valeur 0. Les opérateurs numériques suivants sont autorisés :

opérateur | description
--- | ---
`=` ou `==` | La version de httpd est égale à la valeur spécifiée
`>` | La version de httpd est supérieure à la valeur spécifiée
`>=` | La version de httpd est supérieure ou égale à la valeur spécifiée
`<` | La version de httpd est inférieure à la valeur spécifiée
`<=` | La version de httpd est inférieure ou égale à la valeur spécifiée

### Exemple

    <IfVersion >= 2.3>
        # la condition n'est satisfaite que pour les versions de httpd
    	# supérieures ou égales à 2.3
    </IfVersion>

En plus d'une comparaison numérique, il est possible de comparer la version de httpd avec une expression rationnelle. Il existe deux méthodes pour spécifier cette dernière :

opérateur | description
--- | ---
`=` ou `==` | version est de la forme `/regex/`
`~` | version est de la forme `regex`

### Exemple

    <IfVersion = /^2.4.[01234]$/>
        # exemple de contournement pour les versions boguées
    </IfVersion>

Pour inverser la condition, tous les opérateurs peuvent être préfixés par un point d'exclamation (`!`) :

    <IfVersion !~ ^2.4.[01234]$>
        # pas pour ces versions
    </IfVersion>

Si opérateur est absent, sa valeur implicite est `=`.