Les ressources disponibles sur Internet sont accessibles via des URLs (voir l'article consacré aux URLs). Parfois, le responsable d'un site peut vouloir changer l'emplacement d'une ressource (car il veut changer la structure de son site par exemple). Mais alors, si certains utilisateurs s'étaient habitués à l'ancien emplacement (par exemple en utilisant les bookmarks de leur navigateur) et qu'ils essaient d'y accéder, il auront une erreur. Heureusement, il existe une parade simple: le responsable du site peut mettre en place une redirection de l'ancienne URL vers la nouvelle. Le navigateur suivra magiquement ce chemin, le client accèdera à sa ressource et la nouvelle URLs apparaitra dans la barre du navigateur.
Il peut y avoir d'autres scenarii ou une redirection peut être utile, mais le principe de fonctionnement reste le même.
Techniquement une redirection se gère au niveau du protocole HTTP (voir l'article consacrée à ce sujet). Lorsque le navigateur contacte le serveur Web sur une "ancienne" URL, celui-ci répond avec un code HTTP précis (301 ou 302) et il indique aussi la "nouvelle" URL (grâce au champs HTTP 'Location')
Il existe 2 types de redirection en fonction du code HTTP de la réponse:
Techniquement il y a plusieurs façons de mettre en place une redirection. Cela dépend de votre besoin, de vos ressources techniques et de la modularité qu'offre votre plateforme Web. La redirection peut être faite à trois niveaux différents :
Une redirection d'URL est visible pour l'utilisateur puisque l'URL change dans la barre du navigateur. Au contraire, un URL Rewrite est invisible pour l'utilisateur final, c'est une réécriture d'URL interne au serveur web (voir l'article sur les URLs pour une description plus précise)