Bonjour,

Je dois, pour des questions de référencement, rediriger d'anciennes pages d'un site vers de nouvelles, à l'aide d'une redirection 301.
Je sais qu'il y a deux manières de faire : RedirectPermanent ou RewriteRule.

Les adresses d'origine sont de la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ancien.php?page=alpha&id_rubrique=8
Les nouvelles adresses sont de la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
nouveau.php?id_doc=27
Sans que id_rubrique et id_doc aient quoi que ce soit à voir ensemble. C'est pourquoi, j'ai décidé (j'ai pas vraiment le choix) d'écrire une règle par page.
Il existe environ une centaine de page, et comme il n'y a pas de liens possibles entre les anciennes et les nouvelles pages, j'ai écrit les règles de la façon suivante :

Avec RewriteRule
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
RewriteEngine On
RewriteRule ^ancien.php?page=alpha&id_rubrique=8$ http://www.exemple.fr/nouveau.php?id_doc=27 [L,R=301]
qui ne fonctionne absolument pas (j'obtient une erreur 404).

Avec RedirectPermanent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
RedirectPermanent ancien.php?page=alpha&id_rubrique=8 http://www.exemple.fr/nouveau.php?id_doc=27
Qui ne fonctionne pas mieux (erreur 404 aussi).

Par ailleurs, et en ayant testé pas mal de chose, j'ai remarqué que la réécriture suivante fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
RewriteRule ^ancien.php$ http://www.exemple.fr/nouveau.php?id_doc=27 [L,R=301]
Lorsque j'apelle ancien.php?page=*&id_rubrique=*, la redirection fonctionne, je me retrouve bien sur la page http://www.exemple.fr/nouveau.php?id_doc=27...
Le problème, c'est que je ne peux pas différencier mes pages, et donc, rediriger chaque ancienne URL par la nouvelle correspondante...

En espérant avoir été clair...