Redirection vers une URL avec des points d’interrogation par .htacesss


J’ai un peu trimé dimanche pour mettre en place une redirection par fichier .htaccess. Ayant migré pas mal de mes albums photos depuis mon ancien site (vialbost.org/bibi-ours) vers le nouveau (vialbost.org/photos), je voulais mettre en place des redirections permanentes. Par exemple : que toutes les pages de www.vialbost.org/bibi-ours/2005Maroc renvoie automatiquement à http://www.vialbost.org/photos/index.php?/category/Maroc. Pas le temps ni l’envie de rediriger chaque page ou chaque image.
Normalement, c’est facile : il suffit de créer un fichier .htacess, et de mettre :

RedirectPermanent /bibi-ours/2005Maroc/(.*)$ http://www.vialbost.org/photos/index.php?/category/Maroc

Sauf que ça ne marche pas. Le point d’interrogation est transformé automatiquement en %3F et donc la redirection se fait vers http://www.vialbost.org/photos/index.php%3F/category/Maroc, qui ne fonctionne pas.

La solution : URL rewriting. Dans le répertoire bibi-ours, je mets un .htaccess avec :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule 2005Maroc/(.*)$ /photos/index.php?/category/Maroc [R=301,L]
</IfModule>


Ca a l’air assez puissant (possibilité de définir des fichiers pour configurer les règles de réécriture), mais cette simple solution fonctionne. Evidemment, il faut que le mod_rewrite soit activé sur le serveur web.

    

Laisser un commentaire

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