Dehors les lépreux !!!

On est un tant soi peu intègre entre nous, et on aime pas trop que des gens utilisant SaleIE sur SaleOS viennent se balader sur nos sites web et faire vomir toutes nos belles CSS. mod_rewrite est notre ami pour cela !!

On ajoute ceci a la liste des modules apache a charger (changer le chemin en fonction de son apache, moi c'est du 1.3 sur OpenBSD) :

LoadModule rewrite_module       /usr/lib/apache/modules/mod_rewrite.so''

Puis on ajoute ceci dans la directive <directory> qui va bien (dans mon cas / ⇒ tout le site)

<Directory />     
   ...
   AllowOverride FileInfo
   <IfModule mod_rewrite.c>
      RewriteEngine on
      RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
      RewriteCond %{HTTP_USER_AGENT} !.*Opera.*    # opera se fait passer pour IE des fois
      RewriteCond %{REQUEST_FILENAME} !.*ie.html   # on evite une boucle infinie dans les conditions
      RewriteRule .* /ie.html  [L]                 # on redirige vers une page expliquant les raisons du rejet
   </IfModule>
</Directory>

Et finalement on met un petit texte plus ou moins sympa dans ie.html

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
    	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<title>PEBKAC !!</title>
</head>
<body>
   L'acces &agrave; ce site avec un navigateur aussi mal foutu qu'Internet Explorer, que vous semblez utiliser, est interdit. 
   Utilisez <a href="http://frenchmozilla.sourceforge.net/">Firefox</a>, 
   ou n'importe quel autre navigateur respectant un tant soit peu ses utilisateurs et les standards du web.
</body>
</html>

Un petit coup de apachectl restart, et hop adieu les lépreux !! (merci a tahorg pour les rules par défaut)

comme toujours, un bout de doc : http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

unix/apache_mod_rewrite.txt · Last modified: 2010/01/12 13:29 (external edit)