tsivika Posté 2 Décembre 2014 Posté 2 Décembre 2014 Bonjour à tous au faite j'ai un petit problème que je n'arrive pas à résoudre concernant les réécriture d'url avec répertoire virtuel. donc j ai un règle de réécriture qui fonctionne comme suit : RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING} cette règle me permet d'avoir un url comme ce genre : www.monsite.com/nom-du-produit-p-155.html => cela fonctionne bien mais actuellement j'aimerais changer de réecriture en utilisant des répertoire virtuel comme suit: www.monsite.com/univers-produit/categorie-produit/nom-du-produit-p-155.html et j'ai fais comme suit comme règle mais cela ne fonctionne pas => RewriteRule ^(.*)/(.*)/(.*)-p-(.*).html$ product_info.php?products_id=$4&%{QUERY_STRING} est ce que vous pouvez m'aider. Merci d'avance.
Dan Posté 2 Décembre 2014 Posté 2 Décembre 2014 Bonjour, Essaie ceci : RewriteRule ([^/]*)/([^/]*)/([^-]*)-p-(.*).html product_info.php?products_id=$4 [QSA,L] Inutile d'ajouter manuellement &%{QUERY_STRING}, le flag QSA fait ça très bien et ça t'évitera d'avoir un & en fin d'URL si le QUERY_STRING est vide. !
captain_torche Posté 2 Décembre 2014 Posté 2 Décembre 2014 Par ailleurs, il faudra veiller à deux choses : - Que tes anciennes urls soient correctement redirigées (HTTP 301) vers ces nouvelles, et - Qu'il soit impossible d'accéder à une de ces pages en en modifiant la partie non signifiante de l'url
tsivika Posté 3 Décembre 2014 Auteur Posté 3 Décembre 2014 Bonjour à tous, merci beaucoup, désolé du retard je vais essayer et je vous tiens au courant.
tsivika Posté 3 Décembre 2014 Auteur Posté 3 Décembre 2014 je reviens; c'est super, ça a marché merci à vous les amis, juste une petite remarque avec cette regle => RewriteRule ([^/]*)/([^/]*)/([^-]*)-p-(.*).html product_info.php?products_id=$4 [QSA,L] ce genre d'url fonctionne => http://www.monsite.com/univers/categorie/titreProduit-p-4651.html mais ce genre d'url ne fonctionne pas => http://www.monsite.com/univers/categorie/titre-Produit-p-4651.html et pour que ce genre d url fonctionne => http://www.monsite.com/univers/categorie/titre-Produit-p-4651.html j ai modifier un peu la règle de DAN comme suit => RewriteRule ([^/]*)/([^/]*)/(.*)-p-(.*).html product_info.php?products_id=$4 [QSA,L] Merci encore
tsivika Posté 3 Décembre 2014 Auteur Posté 3 Décembre 2014 pour le conseil de captain_torche, oui, je pense faire la redirection 301 par le biais de php dans le fichier product_info par ce que je ne sais pas le faire via .htaccess. sinon si tu as une idée de comment faire via .htaccess ca sera bien l'ancien url indexé par google c'est du genre : => www.monsite.com/nom-du-produit-p-155.html (règle pour l'ancien : RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}) et il faut rédiriger 301 vers le nouveau url du genre => www.monsite.com/univers/categorie/titre-du-produit-p-idProduit.html (règle du nouveau : RewriteRule ([^/]*)/([^/]*)/(.*)-p-(.*).html product_info.php?products_id=$4 [QSA,L] ) Donc pour la rédirection 301 de l'ancien url vers le nouveau url que ca coince par ce que ce ne sont pas des simples url mais avec des parametres merci d'avance
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant