monbototo Posté 21 Décembre 2005 Posté 21 Décembre 2005 salut à tous, cela fait plusieurs jours que je cherche à mettre en place pour mon site le rewriting de mes url et je ne m'en sort pas... j'ai lu, parcouru, epluché les sites et forums et fait mille essais et je ne trouve pas la solution: AU SECOURS! je vous explique mon cas: j'ai fait faire un site de e-commerce par quelqu'un qui aujourd'hui m'a planté car il a plié sa boite, donc je me debrouille tant bien que mal avec mes petites connaissances pour faire fonctionner le site, et j'y suis arrivé. Mais j'ai remarqué que le site n'était pas du tout fait pour faciliter le référencement car les url integrent les variables et cela donne : " www.monsite.com/index.php?rayon=A01&famille=NU&blablabla..." j'ai mis dans le .htaccess les "Options +FollowSymLinks RewriteEngine on RewriteRule ^([A-Za-z0-9]{3})_([A-Za-z]{2})\.html$ /index.php?rayon=$1&famille=$2 [L]" mais la ou ça pose pb, c'est que je ne peux pas changer et remplacer tous les liens dans le code source vu qu'ils (les liens) ne sont pas statiques, mais font appel à des variables presque systematiquement (du genre: <a href=\"index.php?rayon=$ref_rayon&$ref_famille\"> ce que j'aimerai obtenir, c'est une url du genre www.monsite.com/textile-pantalon.html pouvez vous eclairer ma lanterne?? je tourne en rond et je suis désespéré....HELP merci de votre aide. ps: apres verifs, mon hebergeur accepte le mod_rewriting (mutualisé ovh)
fandecine Posté 21 Décembre 2005 Posté 21 Décembre 2005 bonjour, Si tu est capable dans ton code de générer une url du style: <a href="http://www.monsite.com/index.php?param1=<?php echo $param1;?>¶m2=<?php echo $param2;?>"> rien ne t'empèche de faire <a href="http://www.monsite.com/<?php echo $param1;?>/<?php echo $param2;?>.html"> Tu peux aussi créer un tableau avec tes urls non rewrités et tes url rewrités et faire le remplacement dynamiquement (j'utilise cette technique pour rewriter des sites gerés par un CMS ou des forums). exemple (code à mettre dans ton index.php): $urls=array('url1',...,'urln'); //liste des urls non rewrités$rewrite=array('rewrite1',...,'rewriten'); //liste des urls rewritésob_start();....$contenu = ob_get_contents();ob_end_clean();echo preg_replace($url, $rewrite, $contenu ); Tu met entre ob_start et ob_get_contents tous le code qui contient les urls à tranformer (tu peux aussi mettre tout le code de index.php). voilà!
monbototo Posté 22 Décembre 2005 Auteur Posté 22 Décembre 2005 merci fandecine!!!!!!!! je vais faire l'essai, bien que je n'ai pas assez de connaissances pour savoir si je suis capable de mettre en place tout ça sans faire de betisse... mais je vais essayer tout de même et je te tiens au courant. en tous cas je suis vraiment content que tu ais pris le temps de repondre: merci, merci, merci!!!!...........
monbototo Posté 22 Décembre 2005 Auteur Posté 22 Décembre 2005 euh fandecine, dans le cas ou j'utise le code pour créer un tableau, faut-il que je modifie ou que je complete le .htaccess ?
fandecine Posté 22 Décembre 2005 Posté 22 Décembre 2005 En fait, il faut que tes tableaux $url et $rewrite reprennent le contenu de tes régles de rewrite du htacces. Le script que je t'indique permet de remplacer les urls non rewrités par les urls rewrités, c'est tout. Il ne dispense en aucun cas de définir ces règles dans le htaccess.
monbototo Posté 22 Décembre 2005 Auteur Posté 22 Décembre 2005 ok merci, j'ai inseré le script dans index.php comme indiqué et j'ai ceci en warning: "preg_replace(): Delimiter must not be alphanumeric or backslash in /home/monsite/www/index.php on line 614 tu peux m'aider s'il te plait?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant