Jump to content
Sign in to follow this  
tsivika

réecriture url avec répertoire virtuel

Rate this topic

Recommended Posts

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.


Share this post


Link to post
Share on other sites

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


Share this post


Link to post
Share on other sites

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


Share this post


Link to post
Share on other sites

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


Share this post


Link to post
Share on other sites

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


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...