Rediriger les demandes de sites Web en fonction du navigateur utilisé (Chrome, Firefox ou IE)
Comme promis dans notre précédent article (Comment effectuer une redirection interne avec mod_rewrite), dans cet article, nous expliquerons comment afficher le contenu d’un site web personnalisé à l’aide d’Apache mod_rewrite des demandes de redirection en fonction des critères du navigateur de l’utilisateur.
En théorie, tous les navigateurs modernes devraient interpréter le contenu de la même manière. Cependant, certains mettent en œuvre les dernières fonctionnalités plus rapidement que d’autres. Afin d’avoir un site Web entièrement fonctionnel qui ne se casse pas lorsqu’il est consulté à l’aide d’un certain navigateur. Malheureusement, cela nécessitera une redirection vers un autre répertoire ou une autre page.
Suggéré pour : 5 conseils pour améliorer les performances de votre serveur Web Apache
Les règles de réécriture suivantes redirigent les demandes de tecmint.html vers tecmint-chrome.html, tecmint-firefox.html ou tecmint-ie.html selon le navigateur utilisé (Google Chrome, Mozilla Firefox ou Internet Explorer).
Pour ce faire, la variable d’environnement HTTP_USER_AGENT est utilisée pour identifier le navigateur en fonction de la chaîne de l’agent utilisateur. Ici, nous introduisons la directive RewriteCond, qui nous permet de spécifier une condition qui doit être remplie pour que la redirection ait lieu.
RewriteCond "%{HTTP_USER_AGENT}" ".*Firefox.*"
RewriteRule "^/tecmint\.html$" "/tecmint-firefox.html" [R,L]
RewriteCond "%{HTTP_USER_AGENT}" ".*Chrome.*"
RewriteRule "^/tecmint\.html$" "/tecmint-chrome.html" [R,L]
RewriteCond "%{HTTP_USER_AGENT}" ".*Trident.*"
RewriteRule "^/tecmint\.html$" "/tecmint-ie.html" [R,L]
Veuillez noter que la page cible tecmint.html n’a pas nécessairement besoin d’exister. Tout d’abord, créons tecmint-firefox.html, tecmint-chrome.html et tecmint-ie.html avec le contenu suivant.
tecmint-firefox.html :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to Tecmint on Firefox!</h3>
</body>
</html>
tecmint-chrome.html :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to Tecmint on Chrome!</h3>
</body>
</html>
tecmint-ie.html :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to Tecmint on Internet Explorer!</h3>
</body>
</html>
Nous verrons le résultat de la navigation pour tecmint.html à l’aide de différents navigateurs :
Comme vous pouvez le constater, les demandes de tecmint.html ont été redirigées en conséquence en fonction du navigateur utilisé.
Dans cet article, nous avons vu comment effectuer des demandes de redirection en fonction du navigateur de l’utilisateur. Pour conclure, je vous recommande vivement de jeter un coup d’œil à l’aide-mémoire de mod_rewrite et d’ajouter à vos favoris le guide de redirection et de remappage dans la documentation Apache pour référence future.
Comme toujours, n’hésitez pas à utiliser le formulaire de commentaire ci-dessous si vous avez des questions ou des commentaires sur cet article. Nous nous réjouissons d’avoir de vos nouvelles !
