nickel Posté 18 Janvier 2008 Posté 18 Janvier 2008 Bonjour tout le monde, J'ai un soucis avec les redirections, mes pages étaient de la forme : http://www.exemple.com/dossier1/dossier2/mapage-?id=100.html Je viens de les changer en : http://www.exemple.com/dossier1/dossier2/lapage-100.html J'ai mis dans le .htaccess RewriteEngine on RewriteRule ^/dossier1/dossier2/lapage-(.*).html$ /dossier1/dossier2/mapage?id=$1.html [R=301] Mais cela ne fonctionne pas Quelqu'un saurait-il comment faire pour avoir une redirection 301 de mes anciennes pages vers les nouvelles ? Merci
Bigb06 Posté 18 Janvier 2008 Posté 18 Janvier 2008 Je ne sais pas si c'est la solution, mais tu peux essayer RewriteRule ^/dossier1/dossier2/lapage-([0-9]*)\.html$ http://www.exemple.com/dossier1/dossier2/m...id=$1.html [L,R=301] le L c'est pour last, ca permet d'accélérer le processus de rewriting si il y a plusieurs règles.
Jeanluc Posté 18 Janvier 2008 Posté 18 Janvier 2008 Veux-tu vraiment rediriger tes URL réécrites vers des URL avec variables ? Habituellement, c'est le contraire qu'on fait. Je pense que ta question n'est pas bien posée et qu'il faudrait la reformuler. Jean-Luc
Bigb06 Posté 18 Janvier 2008 Posté 18 Janvier 2008 Oui, c'est vrai que la question est bizarre en fin de compte! L'url que va prendre en compte google et les navigateurs va etre l'url variable... Ca doit pas être une redirection 301.
nickel Posté 18 Janvier 2008 Auteur Posté 18 Janvier 2008 Merci pour vos réponses Bigb06 cela ne fonctionne toujours pas Jeanluc mes pages n'étaient pas rewrité, j'avais juste mis l'extension ".html" à la suite de mes url ce qui donnait "mapage-?id=100.html" au lieu de "mapage-?id=100" maintenant j'ai rewrité les pages avec cette règles qui fonctonne : RewriteRule ^dossier2/lapage-(.*).html$ /dossier1/dossier2/lapage.php?id=$1 [L] Malheureusement mes anciennes pages retournent une erreur 404 Elles étaient de la forme : http://www.exemple.com/dossier1/dossier2/mapage-?id=100.html Et je voudrais les rediriger vers les nouvelles avec une redirection 301 : http://www.exemple.com/dossier1/dossier2/lapage-100.html Je suis bloqué, j'ai un peu tout essayé sans résultat
Bigb06 Posté 18 Janvier 2008 Posté 18 Janvier 2008 Elles étaient de la forme :http://www.exemple.com/dossier1/dossier2/mapage-?id=100.html Et je voudrais les rediriger vers les nouvelles avec une redirection 301 : http://www.exemple.com/dossier1/dossier2/lapage-100.html alors c'est le contraire que tu dois faire, non? ancienne url => nouvelle url RewriteRule ^/dossier1/dossier2/mapage?id=([0-9]*)\.html$ http://www.exemple.com/dossier1/dossier2/lapage-$1.html [L,R=301]
nickel Posté 18 Janvier 2008 Auteur Posté 18 Janvier 2008 Oui je souhaite rediriger les anciennes page de la forme "mapage-?id=100.html" vers les nouvelles de la forme "lapage-100.html" Mais cela ne fonctionne toujours pas
Bigb06 Posté 18 Janvier 2008 Posté 18 Janvier 2008 il manque le tiret? RewriteRule ^/dossier1/dossier2/mapage-?id=([0-9]*)\.html$ http://www.exemple.com/dossier1/dossier2/lapage-$1.html [L,R=301]
nickel Posté 18 Janvier 2008 Auteur Posté 18 Janvier 2008 Je viens de trouver une solution en php qui fonctionne nickel, merci pour ton aide Bigb06 Ceci dit j'ai toujours pas compris pourquoi cela ne fonctionne pas avec le RewriteRule Bon week-end
Jeanluc Posté 18 Janvier 2008 Posté 18 Janvier 2008 La rewrite rule ne fonctionne pas, parce que le traitement de ce type de règle ne prend pas en compte la "query string", càd. la partie "variables" de l'URL (après le ?). Il faudrait faire un test spécifique de la query string pour que ça fonctionne. Jean-Luc
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant