jblog Posté 26 Janvier 2011 Partager Posté 26 Janvier 2011 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 More sharing options...
hsdino Posté 26 Janvier 2011 Partager Posté 26 Janvier 2011 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 More sharing options...
jblog Posté 27 Janvier 2011 Auteur Partager Posté 27 Janvier 2011 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 More sharing options...
captain_torche Posté 27 Janvier 2011 Partager Posté 27 Janvier 2011 Combien as-tu d'urls à rediriger ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 27 Janvier 2011 Partager Posté 27 Janvier 2011 Dans ton cas, c'est un Rewritemap qu'il te faut ! Mais pour cela il FAUT un serveur dédié ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 27 Janvier 2011 Partager Posté 27 Janvier 2011 Si toutes les urls en question correspondent à un schéma précis (qu'on peut isoler), on peut envisager également une redirection vers une page spéciale qui fera elle-même la correspondance avec la nouvelle url. Lien vers le commentaire Partager sur d’autres sites More sharing options...
jblog Posté 27 Janvier 2011 Auteur Partager Posté 27 Janvier 2011 (modifié) 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é 27 Janvier 2011 par jblog Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant