Problème URL REWRITING

Problème URL REWRITING - PHP - Programmation

Marsh Posté le 12-06-2007 à 19:25:35    

Bonjour,
 
Je cherche à savoir ce qu'il faut que je mette dans mon fichier .htaccess pour faire du URL REWRITING.
 
J'ai par exemple :
http://www.monsite.com/?a=cat&id=26
http://www.monsite.com/?a=cat&id=12
http://www.monsite.com/?a=cat&id=4
.....
 
Je voudrais faire un URL REWRITING pour que l'internaute voit dans sa barre d'adresse ainsi que les moteurs de recherche la chose suivante :
http://www.monsite.com/marubriquemachin.html
http://www.monsite.com/marubriquebidule.html
http://www.monsite.com/marubriquetruc.html
 
Que dois je mettre dans le fichier .htaccess pour avoir cela ?
 
Merci de votre aide

Reply

Marsh Posté le 12-06-2007 à 19:25:35   

Reply

Marsh Posté le 12-06-2007 à 19:42:52    

L'url rewriting, c'est dans l'autre sens : à partir de /machin.html, on le transforme en /?a=cat&id=26 et on lance le script.
 
Il n'y a aucun moyen de faire ce que tu veux faire. Il faut déjà transformer tous les liens du site. Ou alors en PHP faire un script qui détecte si l'adresse de la requête est une adresse "moche", et faire une redirection vers l'adresse jolie (mais à utiliser uniquement si tous les liens ont été transformés, sinon bonjour les milliards de redirections)

Reply

Marsh Posté le 12-06-2007 à 19:45:27    

et on peut pas le faire dans le sens que je veux ?

Reply

Marsh Posté le 12-06-2007 à 20:37:34    

Il faux que tu change tous tes liens..
 
Tu peux créer une fonction genre :
 

Code :
  1. getUrlMachin($idCat,$idRub,$libLink){
  2.      $url = "/marubrique-".$idCat.",".$idRub."-".$libLink.".html";
  3.       return $url;
  4. }
  5. //retournera genre : /marubrique-21,5-le_fondu_de_veau_echalotte.html qui sera le lien affiché et cliquable pour tes visiteurs


Par contre, a coté de ca, tu dois écrire dans le htaccess une regle pour que ton serveur sache quand cliquant sur le site plus haut, tu appele en fait la page  http://www.monsite.com/index.php?a=cat&id=26  
 
donc de memoire:

Code :
  1. rewriteRule ^/marubrique-([0-9]+),([0-9]+)-(.*).html /index.php?a=$1&id=$2 [L]


 
voir sur google pour des explications sur les regex ..
 
bonne chance, corrigez moi si je me suis trompé les autre :p


Message édité par bixibu le 12-06-2007 à 20:38:45
Reply

Marsh Posté le 13-06-2007 à 12:41:51    

super !! grace à tous vos conseils, j'ai réussi à écrire mon fichier htaccess pour obtenir ce que je voulais et ça marche !  
 
Merci à tous pour votre aide !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed