Aller au contenu

redirection 301 et paramètres index.php?id=3


jblog

Sujets conseillés

Bonjour à tous !

Je dois générer un htaccess avec des redirection 301 suivant le modèle suivant :

/repertoire/fichier.php.id=3   vers   http://www.monsite.lan/ma_page_1.html
/repertoire/fichier.php.id=5 vers http://www.monsite.lan/ma_page_2.html
/repertoire/fichier.php.id=7 vers http://www.monsite.lan/ma_page_3.html
/repertoire/fichier.php.id=9 vers http://www.monsite.lan/ma_page_4.html

J'ai essayé ceci, mais sans succès :

RedirectPermanent /repertoire/fichier.php.id=3 http://www.monsite.lan/ma_page_1.html

Si j'utilise mon navigateur avec l'adresse

http://www.monsite.lan/repertoire/fichier.php?id=3

, j'ai une erreur 404.

Alors qu'une redirection de ce type fonctionne très bien :

RedirectPermanent /repertoire/old.html http://www.monsite.lan/ma_nouvelle_page.html

Merci pour votre aide et vos suggestions !

Lien vers le commentaire
Partager sur d’autres sites

Tu ne peux pas extraire les paramètres avec un RewriteRule seul, tu dois compléter avec un RewriteCond


RewriteCond %{QUERY_STRING} ^id\=(.*)$
RewriteRule /repertoire/fichier.php http://www.monsite.lan/ma_page_%1.html [R=301,L]

Lien vers le commentaire
Partager sur d’autres sites

Merci pour la réponse !

Si je comprends bien, sur la ligne RewriteRulle, le %1 à la fin correspond à l'id récupéré de l'ancienne adresse.

Si c'est ça, je me suis peut-être mal exprimé dans mon exemple.

J'ai modifié la destination :

/repertoire/fichier.php?id=3   vers   http://www.monsite.lan/blanc.html
/repertoire/fichier.php?id=5 vers http://www.monsite.lan/bleu.html
/repertoire/fichier.php?id=7 vers http://www.monsite.lan/rouge.html
/repertoire/fichier.php?id=9 vers http://www.monsite.lan/vert.html

C'est possible de faire un "select case" dans htaccess ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Que de propositions !

Captain_torche, j'ai 51 URL à rediriger (pour le moment, sinon en tout il y a +300 URL).

Le schéma est presque systématiquement /repertoire/fichier.php?id=5

Pour les autres, une redirection classique fonctionne parfaitement.

Dan, je suis effectivement sur un serveur dédié.

Je vais regarder comment utiliser Rewritemap.

Merci !

Modifié par jblog
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...