Apache 2 : corriger les chemins avec mod_speling

 Publié le 01 novembre 2015, à 13:26, par Allaedine El Banna   Aucun commentaire
Rangé dans Mémos sur logiciels libres


Dans le cas où un fichier web ne peut être accédé via une URL, à cause d’une erreur d’orthographe (problème de casse, ou de majuscule/minuscule), le module mod_speling permet de faire corriger automatiquement les chemins pour rediriger automatiquement vers le nom réel du fichier sur le serveur. Contrairement à ce que la documentation Apache2 semble prétendre, il s’avère que les corrections s’effectuent sur le chemin entier, et pas seulement sur le nom de fichier.

Pour l’utiliser sur Debian, il faut commencer par l’activer (il est présent dans les modules par défaut) :

root# a2enmod speling

Deux options liées à ce module peuvent être activées. Pour vérifier seulement la casse sur les chemins, il faut activer l’option CheckCaseOnly (Off par défaut) :

CheckCaseOnly On

Pour en plus gérer les substitutions, ajouts et suppressions de lettres dans la correction, il faut activer l’option CheckSpelling :

CheckCaseOnly Off
CheckSpelling On

Après un rechargement de la configuration Apache2, il suffit de tester avec un chemin de fichier erroné. Le serveur procédera à des redirections (301) successives en partant du début du chemin :

[wedjats@base ~]$ wget http://server.local/medias/multimedias/internet/music.mp3
--2015-11-01 13:17:56--  http://server.local/medias/multimedias/internet/music.mp3
Resolving server.local (server.local)... 127.0.0.1
Connecting to server.local (server.local)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://server.local/medias/Multimedias/internet/music.mp3 [following]
--2015-11-01 13:17:56--  http://server.local/medias/Multimedias/internet/music.mp3
Reusing existing connection to server.local:80.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://server.local/medias/Multimedias/Internet/music.mp3 [following]
--2015-11-01 13:17:56--  http://server.local/medias/Multimedias/Internet/music.mp3
Reusing existing connection to server.local:80.
HTTP request sent, awaiting response... 200 OK
Length: 38597203 (37M) 
Saving to: ‘music.mp3’


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs avec une astérisque (*) doivent être obligatoirement remplis.