doomer2 Posté 19 Décembre 2007 Posté 19 Décembre 2007 Bonjour, Je posséde des adresses url de ce type : http://www.site.com/cristal-dur.php?page=2∏=cristal%20dur%20Rallonge%20USB Donc j'ai créé un fichier htaccess pour réécrire ces urls de cette facon : RewriteEngine onRewriteRule ^cristal-dur-([0-9a-zA-Z-]+)-([0-9a-zA-Z-]+)\.html$ /cristal-dur.php?page=$1∏=$2 [L] Cela ne fonctionne pas et ne réécrit pas mes urls ? Peut etre qu'il y a une erreur dans mon code de réécriture ? Merci de votre aide.
Jeanluc Posté 20 Décembre 2007 Posté 20 Décembre 2007 Essaie ceci: RewriteRule ^cristal-dur-([0-9a-zA-Z-]+)-([^\.]+)\.html$ /cristal-dur.php?page=$1&prod=$2 [L] Jean-Luc
Anonymus Posté 20 Décembre 2007 Posté 20 Décembre 2007 Bonjour, C'est une erreur courante de penser que le htaccess réécrit les urls. C'est faux Le htaccess interprette les urls qui entrent sur le serveur (donc les urls que tapent les internautes), et non pas les urls qui sont déjà sur ton site. Il te faut donc reprendre les urls qui se trouvent dans ton code, et les réécrire, pour qu'elles correspondent à ce que tu veux Ensuite, donc, ces urls seront 'sur ton site', il va falloir quand quelqu'un clic dessus, qu'elles soient interprétées par le serveur. C'est à ce moment là, et à celui là seulement, qu'intervient le fichier htaccess Nico.
doomer2 Posté 20 Décembre 2007 Auteur Posté 20 Décembre 2007 Si je comprends mes urls doivent être du type ci dessous, j'ai remplacé le & entre les 2 variables par un - http://www.site.com/cristal-dur.php?page=2-prod=cristal%20dur%20Rallonge%20USB Et après je fais quoi je suis un peu perdu là
steph29 Posté 20 Décembre 2007 Posté 20 Décembre 2007 (modifié) en fait c'est pas les rewrite rules qui vont transformer tes urls actuelles (http://www.site.com/cristal-dur.php?page=2∏=cristal%20dur%20Rallonge%20USB) en jolies url, mais pas l'inverse si on se base sur ton rewriting: RewriteRule ^cristal-dur-([0-9a-zA-Z-]+)-([^\.]+)\.html$ /cristal-dur.php?page=$1∏=$2 [L] les liens sur ton site devront avoir un format d'adresse de ce type : h**p://www.site.com/cristal-dur-2-cristal_dur_Rallonge_USB.php quand l'internaute cliquera sur ce joli lien, il verras toujours cette jolie url, mais le script appele sera: h**p://www.site.com/cristal-dur.php?page=2∏=cristal_dur_Rallonge_USB Pour info : autant sur la recup du parametre page tu n'aura pas trop de souci pour le recuperer (format numerique), mais pour ton parametre prod il faut penser a bien l'encoder (pas de tiret et pas d'espace ) pour se simplifier la vie EDIT: salete de liens auto Modifié 20 Décembre 2007 par steph29
doomer2 Posté 20 Décembre 2007 Auteur Posté 20 Décembre 2007 Pour l'encodage de l'url, j'ai fais ceci penses tu que cela sois correcte : $title2 = strtolower($title); $title2 = strtr($title, " ,.'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ", "____aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY");
doomer2 Posté 20 Décembre 2007 Auteur Posté 20 Décembre 2007 (modifié) Suite à vos conseils, j'ai donc renommée mes urls de cette façon : http://www.site.com/cristal-dur.php?page=36∏=curl-grand-barrette et mon code htaccess : RewriteRule ^cristal-dur-([0-9a-zA-Z-]+)-([^\.]+)\.html$ /cristal-dur.php?page=$1∏=$2 [L] j'ai essayé cela également : RewriteRule ^cristal-dur-([0-9]+)-([a-zA-Z]+)\.html$ cristal-dur.php?page=$1∏=$2 [L] Cependant quand je tape cette url : http://www.site.com/cristal-dur-36-curl-grand-barrette.html mon htaccess ne fonctionne pas et me signale Redirection de page incorrecte Le htaccess me semble correcte ? Je deviens fou ! J'ai retourné le htaccess dans tous les sens mais en vain. Si quelqu'un voit le soucis les pros de l'url rewriting ;-) Quelqu'un peut il me dire si mon raisonnement est bon ou pas ? PS : Je suis chez l'hébergeur 1and1 je sais pas si cela peut influer. Modifié 21 Décembre 2007 par doomer2
doomer2 Posté 22 Décembre 2007 Auteur Posté 22 Décembre 2007 Merci de vos aides, le probléme était de placer ces conditions tout en haut de mon htaccess maintenant cela fonctionne, je comprends pas pourqoui cela ne fonctionnait pas au milieu de mon htaccess mais bon cela fonctionne nickel.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant