En tant qu’administrateurs (pour la plupart d’entre nous) de nos sites Web, nous sommes amenés à gérer nos serveur Web. Et bien souvent il s’agit du très bon et très connu Apache Httpd et ses fichiers « htaccess ».
Il arrive souvent que l’on cherche à faire des choses simple avec Httpd. Et bien souvent il nous faut tâtonner avant d’arriver au résultat espéré. Et même mieux il m’arrive encore de découvrir des possibilités.
Dans la suite de ce billet, vous allez trouver quelques « trucs » que j’ai glané sur différents sites web.
N’hésitez pas à partager vos autres ficelles si vous en avez.

Pages d’erreur personnalisées
Il est possible de rediriger vers une page spécifique en fonction du code retour (ex: 404, page non trouvée).
Pour cela, il vous suffit d’ajouter la ligne suivante:
ErrorDocument code page
où code est le code retour (403, 404, 500) et page le chemin relatif de la page (/mapageperso.html).
Pour trouver des idées de pages 404 originales, lisez mon billet sur le sujet (100+ pages d’erreur 404 insolites ou design).
Pages par défaut
Par défaut, la page affiché sur un site Web est index.html. Si vous tapez pas exemple http://www.monsite.com, vous serez redirigé vers http://www.monsite.com/index.html. Sauf si vous avez changé l’ordre par défaut.
Pour ce faire il suffit de spécifier la ligne suivante:
DirectoryIndex page1 page2 page3 ...
où les pages sont les noms des pages souhaités par ordre de préférence (customhome.html monindex.html index.php…)
Bannir des adresse IP ou des domaines
Si par exemple vous êtes spammés par des commentaires indésirables et que ces commentaires viennent très souvent de la même adresse IP, vous pouvez bannir celle-ci. Idem pour un domaine donné.
Il suffit d’ajouter la (ou les) ligne(s) suivante(s):
order deny,allow
deny from 123.456.789.000
deny from 123.456.789.000
deny from .domaine.com
allow from all
Autoriser ou empêcher le parcours des répertoires d’un site
Pour autoriser le parcours, par exemple lorsque l’on stocke des fichiers à télécharger et que l’on ne souhaite pas créer une page à cet effet, il faut ajour les ligne suivante:
Options +Indexes
Ceci aura pour effet d’afficher un listing des fichiers des répertoires. Attention ce genre de choses n’est pas du tout conseillé.
Pour restreindre le type de fichiers à afficher, par exemple pour empêcher l’affichage des vidéos, ajouter la ligne suivante:
IndexIgnore *.wmv *.mp4 *.avi
Pour désactiver complètement l’indexation de fichiers, ajoutez la ligne suivante:
Options All -Indexes
Empêcher les visites provenant de certains sites
Si vous souhaitez bloquer le trafic provenant d’un site identifié, rien de plus simple; utilisez les « rewrite rules »:
#activation de la réécriture
RewriteEngine on
#règles
RewriteCond %{HTTP_REFERER} site1.com [NC]
RewriteCond %{HTTP_REFERER} site2.com [NC]
...
#notification du bannissement (forbidden)
RewriteRule .* - [F]
Empêcher le parcours de votre site par certains robots / crawlers
Même chose pour bloquer certains robots qui parcourent votre site (comme googlebot par exemple):
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^robot1 [OR]
RewriteCond %{HTTP_USER_AGENT} ^robot2 [OR]
RewriteCond %{HTTP_USER_AGENT} ^robot3
#redirection vers un page de votre choix
RewriteRule ^(.*)$ http://www.mondomaine.com/pagespecificque.html
Rediriger certains robots / crawlers sur un autre site
Si vous avez changé de nom de domaine, et que vous souhaitez être rapidement ré-indexé, ajoutez les lignes suivantes:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^robot1 [OR]
RewriteCond %{HTTP_USER_AGENT} ^robot2 [OR]
RewriteCond %{HTTP_USER_AGENT} ^robot3
RewriteRule ^(.*)$ http://www.nouveaudomaine.com/ [R, L]
Rediriger certaines URL de votre site vers une autre url
Encore un tips pour ceux qui changé la structure de leur url ou qui ont changé de NDD.
Par exemple pour un changement de domaine avec conservation du contenu, vous pouvez rediriger de manière permanente comme ceci:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.nouveaudomaine.com/$1 [R=301,L]
Voila, c’est tout pour ce billet, j’espère que cela aidera certains (ou au moins leur fera gagner du temps). N’hésitez pas à me corriger si j’ai fais des erreurs ou si vous avez d’autres choses à partager.




