Serveur Apache HTTP Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_speling

Description: | Tente de corriger les erreurs de casse dans les URLs ou les fautes de frappe mineures.
Statut: | Extension
Identificateur de Module: | speling_module
Fichier Source: | mod_speling.c

### Sommaire

Il arrive que des requêtes pour des documents ne puissent pas être traitées par le serveur Apache de base à cause d'une erreur de frappe ou de casse. Ce module permet de traiter ce problème en essayant de trouver un document correspondant, même lorsque tous les autres modules y ont renoncé. Sa méthode de travail consiste à comparer chaque nom de document du répertoire demandé avec le document de la requête sans tenir compte de la casse, et en acceptant jusqu'à une erreur (insertion, omission, inversion de caractère ou caractère erroné). Une liste de tous les documents qui correspondent est alors élaborée en utilisant cette stratégie.

Si après le parcours du répertoire,

- aucun document correspondant n'a été trouvé, Apache procèdera normalement et renverra une erreur "document non trouvé".
- un seul document correspondant pratiquement à la requête a été trouvé, celui-ci est renvoyé sous la forme d'une réponse de redirection.
- plusieurs documents pouvant correspondre ont été trouvés, une liste des documents est envoyée au client afin que ce dernier puisse sélectionner le document correct.

### Directives

### Traitement des bugs

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

## Directive CheckCaseOnly

Description: | Limite l'action du module aux corrections de majuscules
Syntaxe: | `CheckCaseOnly on|off`
Défaut: | `CheckCaseOnly Off`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride: | Options
Statut: | Extension
Module: | mod_speling

Lorsqu'elle est définie à "on", cette directive permet de limiter l'action du module aux inversions majuscule/minuscule. Les autres corrections ne sont pas effectuées.

## Directive CheckSpelling

Description: | Active le module de correction
Syntaxe: | `CheckSpelling on|off`
Défaut: | `CheckSpelling Off`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride: | Options
Statut: | Extension
Module: | mod_speling

Cette directive permet d'activer ou de désactiver le module de correction. Lorsqu'il est activé, rappelez-vous que :

- le parcours du répertoire nécessaire à la correction aura un impact sur les performances du serveur lorsque de nombreuses corrections devront être effectuées au même moment.
- l'arborescence ne doit pas contenir de documents sensibles qui pourraient être considérés par erreur comme correspondant à la requête.
- le module ne corrige pas les noms d'utilisateur mal orthographiés (comme dans `http://mon.serveur/~apahce/`), mais seulement les noms de fichiers ou de répertoires.
- les corrections s'appliquent strictement aux fichiers existants, si bien qu'une requête pour `<Location "/status">` pour être traitée de manière incorrecte comme une requête pour le fichier négocié "`/stats.html`".

mod_speling ne doit pas être activé pour des répertoires où DAV l'est aussi, car il va essayer de "corriger" les noms des ressources nouvellement créées en fonction des noms de fichiers existants ; par exemple, lors du chargement d'un nouveau document `doc43.html`, il est possible qu'il redirige vers un document existant `doc34.html`, ce qui ne correspond pas à ce que l'on souhaite.