Les redirections
La redirection permet de rediriger de force l'utilisateur de votre site vers une page donnée sans qu'une action de l'utilisateur ne soit nécessaire.
Cela est utile dans plusieurs cas :
- afficher une page de confirmation pendant quelques secondes.
- afficher une page d'erreur pendant quelques secondes.
- rediriger l'utilisateur si celui-ci tente d'accéder à une page qui n'existe pas ou à une zone restreinte du site.
- …
Différentes techniques de redirection
En HTML et XHTML
Ce code doit être mis entre les balises <HEAD></HEAD>
<!-- Pour html --> <meta http-equiv="refresh" content="seconde; URL=cible"> <!-- Pour xhtml --> <meta http-equiv="refresh" content="seconde; URL=cible" />
- seconde : temps (en secondes) qui s'écoulera avant que la redirection ne s'effectue.
- cible : URL de la page vers laquelle l'utilisateur sera redirigé.
Exemple
On souhaite rediriger l'utilisateur vers le site Franceserv.fr, 5 secondes après le chargement de la page. Le code sera celui ci :
<meta http-equiv="refresh" content="5; URL=http://www.franceserv.fr">
En JavaScript
Ce code doit être mis soit dans la balise <HEAD>, soit dans un fichier Javascript (.js).
<script type="text/javascript"> window.location = 'cible' </script>
- cible : url de la page vers laquelle l'utilisateur sera redirigé.
En PHP
La fonction header() doit impérativement être utilisée avant tout affichage et toute balise HTML. Le code ci-dessous doit donc être mis avant la balise <HTML>.
<?php header('Location: cible'); ?>
- cible : url vers laquelle l'utilisateur sera redirigé.
Avec le fichier htaccess
# Rediriger index.html vers une autre page Redirect /index.html http://mondomaine.com/monrepertoire/mapage.html # Rediriger index.html vers un dossier Redirect /index.html http://mondomaine.com/monrepertoire # Redirection permanente de votre domaine vers nouveau-domaine.com Redirect 301 / http://nouveau-domaine.com/ # Si vous avez changé les pages .html en .php RedirectMatch 301 (.*)\.html$ http://www.mondomaine.com$1.php # Réécrire http://mondomaine.com en http://www.mondomaine.com RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.mondomaine\.com$ [NC] RewriteRule ^(.*)$ http://www.mondomaine.com/$1 [L,R=301] # Réécrire http://www.mondomaine.com en http://mondomaine.com RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.mondomaine\.com$ [NC] RewriteRule ^(.*)$ http://mondomaine.com/$1 [L,R=301] # Rediriger n'importe quel mondomaine.tld vers mondomaine.fr RewriteEngine on RewriteCond %{HTTP_HOST} !^mondomaine.fr$ RewriteRule ^(.*) http://mondomaine.fr/$1 [QSA,L,R=301]