Ajax HTML 5 Création site CMS Comment Design Logiciels Programmation RSS SQL Scriptol Scripts Mobiles
Forum
Création site
Le Web 2.0
Conception optimale
Idées de sites
Site original
Nom de domaine
Hébergement
Redirections
Glossaire
Questions
Conception Web
Site de qualité
Liste des CMS
Manuel SEO
Tutoriels
Tutoriel Adsense
Promotion site
Liste de tutoriels
Ressources
Logiciels
FTP Synchronizer


Redirections sur un site web

Ces redirections supposent un serveur Apache et fonctionnent dans un fichier .htaccess. Celui-ci est placé à la racine du site et peut être surchargé dans les sous-répertoires.

Il faut distinguer le principe de la redirection de celui de la réécriture d'URL.

Sommaire
  • Redirection vs. réécriture d'URL.
  • Comment ajouter www.
  • Comment renvoyer les erreurs 404 sur une page.
  • Rediriger un nom de domaine sur un autre.
  • Rediriger sur une page déplacée.
  • Rediriger un répertoire vers une seule page.

Redirection vs. réécriture d'URL

Ce sont deux techniques proches mais qui ont un effet opposé:

Redirection: l'URL donnée par l'utilisateur est redirigée sur une nouvelle page. L'URL de la nouvelle page est affichée par le navigateur.
On l'utilise pour un changement d'adresse. La nouvelle URL devrait être indexée par les moteurs de recherche et l'ancienne supprimée.

Réécriture: l'URL donnée par l'utilisateur est remplacée par le serveur de façon invisible par un nouveau chemin. Le navigateur affiche cependant l'URL donnée par l'utilisateur.
On l'utilise pour séparer l'URL visible du chemin réel et fournir aux utilisateurs des libellés plus pratiques. Seule l'URL visible doit être indexée par les moteurs de recherche et non pas le chemin sur le serveur.

Apache utilise le même module RewriteEngine dans les deux cas, mais la commande Redirect ou l'option 301 changent l'URL affichée. En fait le serveur renvoi la nouvelle URL au navigateur qui doit effectuer une nouvelle requête.

Les redirections doivent être placées avant les réécritures dans le fichier .htaccess.

Comment ajouter www

Comment rediriger http://scriptol.fr sur http://www.scriptol.fr

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^scriptol.fr
RewriteRule (.*) http ://www.scriptol.fr/$1 [R=301,L]

Comment renvoyer les erreurs 404 sur une page

Ce peut être une page d'erreurs, dite page 404 du nom du code renvoyé quand une page n'est pas trouvée, ou la page d'accueil (plus utile).

RewriteEngine  on
ErrorDocument 404 /index.php

Noter que la directive RewriteEngine on qui active les redirections se place une seule fois en début du fichier .htaccess.

Rediriger un nom de domaine sur un autre

Pour le changement définitif de nom de domaine, ne nouveau domaine étant par exemple scriptol.fr

Redirect 301 / http://www.scriptol.fr/  

Pour un changement temporaire, on utiliserait le code 302.

Rediriger sur une page déplacée

Redirect 301 /répertoire/page.html http://www.scriptol.fr/répertoire/page.html  

Ce peut être sur le même site ou un autre, le nom du site étant toujours inclus dans l'URL, cela ne change rien.

Rediriger un répertoire entier vers un seul fichier

Si l'on veut retirer un sous-répertoire du Web, on peut le rediriger en bloc sur la page d'accueil ou une autre page avec une seule directive:

RedirectMatch 301 ^/monsousrep/.*$ http://www.scriptol.fr/compilateur/
RedirectMatch 301 ^/monsousrep/.*$ http://www.scriptol.com/index.php

Le répertoire à supprimer se nomme "monsousrep" à remplacer par le nom de votre répertoire ainsi que le domaine de la cible, et la page.
La destination ne doit pas être contenue dans le répertoire à rediriger car cela ferait entrer dans un boucle infinie.

Sur le plan du référencement, une telle opération entraîne deux réserves:

  1. Il est préférable de placer une page en "noindex" plutôt que la rediriger sur une autre page dont le contenu est différent.
  2. Vous devez vous assurer que tous les liens pointant sur une page redirigée sont mis à jour. Un lien vers une redirection sur le même site est pénalisante.
    Utilisez Link Checker avec les options -r -s -f pour trouver ces liens.

Plus d'information

  • Manuel Apache.
© 2010-2011 Scriptol.fr