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
Salut,
J’ai eu le même problème que toi pour les redirections 301 d’un répertoire, j’ai cherché et je suis tombé sur ton post. Merci pour ton aide 😉
Content que ça aie pu t’aider !