Aller au contenu

Sujets conseillés

Posté

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.


Posté

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. !


Posté

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


Posté

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


Posté

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


Veuillez vous connecter pour commenter

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



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