Websourcing.fr

Websourcing.fr » ActualitĂ©s, Web, Logiciels et Fun

Image pour Quelques règles simples pour gérer son site avec .htaccess

Quelques règles simples pour gérer son site avec .htaccess

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.


Cet article vous a plu ?

Commenter Laissez un commentaire | Recevez les mises à jour Souscrivez au flux RSS | Partager : Twitter AddInto Fuzz del.icio.us Wikio FR Blogonet
Websourcing.fr - Tous droits réservés. Reproduction interdite sans accord préalable.
  1. Répondre Citer #1 par jack le 7 novembre 2008 - 20:04

    Que faut il penser des générateurs de fichier Htaccess ?

  2. Répondre Citer #2 par Lionel Roux le 7 novembre 2008 - 23:51

    @jack – Je ne m’en suis jamais servi. J’ai tendance Ă  prĂ©fĂ©rer maitriser ce que je fais, donc je fais tout Ă  la main. J’essayerais de regarder ce que ça vaut si j’ai le temps. As-tu une adresse ou un nom d’outils? Merci

  3. Répondre Citer #3 par jack le 10 novembre 2008 - 16:02

    Htaccess File Generator   http://cooletips.de/htaccess/
    HtAccess Editor  http://www.htaccesseditor.com/en.shtml

    J’ai fait un fichier htaccess avec un des ces logiciels pour mon blog wordpress, mais je ne sais pas s’il sert Ă  qq chose. Pour moi, c’est un peu du chinois tout cela.

  4. Répondre Citer #4 par Lionel Roux le 10 novembre 2008 - 19:28

    @jack > J’ai jetĂ© un coup d’oeil, ça m’a l’air pas mal du tout, Ă  condition de comprendre Ă  quoi chaque section correspond. Mais ce qui est bien c’est qu’en utilisant ces outils tu ne peux pas faire de typo, du coup tu es sur que cela marche. Merci pour la trouvaille. j’en ferais certainement un billet ;)

  5. Répondre Citer #5 par jack le 10 novembre 2008 - 19:56

    En fait il y a des générateurs pour tout. En cherchant bien tu serais surpris.

(Ne sera pas publié)
  1. Pas encore de trackback.