HTaccess et les redirections, ça peut faire mal !

Aujourd’hui j’ai eu à faire deux petites redirections permanentes, mais je n’y connais rien en RewriteRules ou PermanentRedirect, et n’en comprends donc pas la syntaxe. Pourtant, je devais rediriger http://kicoe.net vers http://www.kicoe.net (rajout du www), ainsi que toutes les urls des sous-dossiers et sous-pages de http://www.kicoe.net/kits-graphiques/ (que j’ai supprimé il y a peu) vers la page d’accueil. Si ça peut aider, voilà ma conclusion…

Tout d’abord le plus simple, la redirection vers le www. Je la pose tout bêtement :

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

La chaîne de caractères  !^www signifie « absence de www », c’est la condition qui déclence la redirection. Pour le reste :

^ qui signifie « début de la chaîne »,
(.*) qui signifie « n’importe quel caractère »
$ qui signifie « fin de la chaîne

Ensuite, celui qui m’a posé le plus de problème étant chez OVH, c’est la redirection d’un répertoire et de tous ses sous-dossiers vers une adresse unique. Cette redirection est régie par les deux lignes suivantes du HTacess :

RewriteEngine on
RewriteRule ^kits-graphiques(.*)$  http://www.kicoe.net [QSA,L,R=301]

Remplacez « kits-graphiques » par votre répertoire, n’oubliez pas le « (.*) » ainsi que les règle [QSA,L,R=301] et c’est gagné.

Pour plus d’explications sur la syntaxe :

http://httpd.apache.org/docs/current/mod/mod_rewrite.html
http://www.webforgers.net/mod-rewrite/mod-rewrite-syntax.php

2 commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *