jblog Posté 26 Janvier 2011 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 !
hsdino Posté 26 Janvier 2011 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]
jblog Posté 27 Janvier 2011 Auteur 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
Dan Posté 27 Janvier 2011 Posté 27 Janvier 2011 Dans ton cas, c'est un Rewritemap qu'il te faut ! Mais pour cela il FAUT un serveur dédié !
captain_torche Posté 27 Janvier 2011 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.
jblog Posté 27 Janvier 2011 Auteur 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant