yvan Posté 25 Mars 2006 Posté 25 Mars 2006 Bonjour, Est-il possible de remplacer les espaces (%20) dans une url via le fichier .htaccess ?? Si qq à une réponse... merci!
Jeanluc Posté 25 Mars 2006 Posté 25 Mars 2006 Bonjour, Pas compris la question. Tu pourrais donner un exemple de ce que tu veux faire ? Jean-Luc
yvan Posté 25 Mars 2006 Auteur Posté 25 Mars 2006 Bonjour JeanLuc, Sur cette url http://www.monsite.com/annonce-85-Bonnets%...%20foulards.htm j'utilise un .htaccess RewriteEngine on RewriteRule ^annonces-(.+)\.htm$ /affichecat.php?nomcat=$1 [L] RewriteRule ^annonce-([0-9]+)-(.+).htm$ /voirannonce.php?no=$1&sujet=$2 [L] ErrorDocument 404 /404.htm et je souhaite remplacer les caractéres %20 par des - Merci!
Jeanluc Posté 25 Mars 2006 Posté 25 Mars 2006 S'il y a maximum 2 espaces, tu pourrais faire ceci (non testé): RewriteEngine onRewriteRule ^annonces-(.+)\.htm$ /affichecat.php?nomcat=$1 [L]RewriteRule ^annonce-([0-9]+)-(.+)\%20(.+)\%20(.+)\.htm$ /annonce-$1-$2-$3-$4.htm [R=301]RewriteRule ^annonce-([0-9]+)-(.+)\%20(.+)\.htm$ /annonce-$1-$2-$3.htm [R=301]RewriteRule ^annonce-([0-9]+)-(.+).htm$ /voirannonce.php?no=$1&sujet=$2 [L]ErrorDocument 404 /404.htm De cette façon, tu commences par faire une redirection 301 des anciennes adresses (avec les %20) vers les nouvelles (avec les tirets). Dans cette version, il y a finalement une réécriture vers une page en php, comme avant, mais maintenant la 2ème variable comprend des tirets. Jean-Luc
kazhar Posté 25 Mars 2006 Posté 25 Mars 2006 Mais le mieux serait tout de même de les modifier dans ton script. Voici la fonction que j'utilise pour réecrire mes titres en url (sur le premier des sites dans mon profil) function formaturl($url) { $url = strtolower($url); $in = array( " ", "_", ".", " ", "`", "'", "", ",", "(", ")", "}", "{", "&", "$", "!", "?", "\"", "/", ":", "é", "è", "ê", "ë", "à", "ù", "ô", "ç", "«", "»", "+", "--", "--", ); $out = array( "-", "-", "-", "-", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "-", "", "e", "e", "e", "e", "a", "u", "o", "c", "", "", "-plus-", "-", "-" ); $url = str_replace($in, $out, $url); return $url;} str_replace()
Jeanluc Posté 25 Mars 2006 Posté 25 Mars 2006 J'imagine que c'est ce qu'il a fait mais que les moteurs de recherche continuent à lui envoyer des visiteurs aux anciennes adresses. Jean-Luc
yvan Posté 25 Mars 2006 Auteur Posté 25 Mars 2006 Je vais essayer tous ça! Merci beaucoup pour votre aide...
yvan Posté 25 Mars 2006 Auteur Posté 25 Mars 2006 Pour le fichier .htaccess, cela ne fonctionne pas. Pour la modif du script, je me demande dans quelle page le placer?! c'est un site d'annonce et dois-je l'ajouter dans la page "ajoutannonce" ou la page de visualisation de l'annonce! ??!
Jeanluc Posté 25 Mars 2006 Posté 25 Mars 2006 Pour le fichier .htaccess, cela ne fonctionne pas. Tu pourrais expliquer précisément ce qui fonctionne et ce qui ne fonctionne pas ? Sinon, c'est quasiment impossible d'aider. Jean-Luc
yvan Posté 25 Mars 2006 Auteur Posté 25 Mars 2006 Il n'y a aucun changement, même dans le cas où une nouvelle page est créée Les anciennes régles continues de fonctionner mais pas les nouvelles!
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant