url rewriting avec espace

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

groskanel
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 9 Nov 2006

url rewriting avec espace

Message le Dim Nov 07, 2010 9:33

Bonjour

j'ai suivi le tuto pour la redirection d'url et j'arrive a ca :
Code: Tout sélectionner
# Article avec numéro de page et titre :
RewriteRule ^([0-9]*)-(.*)\  article.php?rzx=$1&nom=$2 [L]


ca fonctionne plutot pas mal, mais du coup, si dans la balise $nom j'ai un espace, il est automatiquement transformer en %20 ce qui au final n'est pas terrible pour la lecture de l'url.

Y'a t'il une solution pour soit faire passer l'espace normalement soit le remplacer par un caratere du style - ou ,

Merci.


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: url rewriting avec espace

Message le Dim Nov 07, 2010 14:47

Salut,

Si je ne me plante pas, ça se situe au niveau du code qui effectue ta ré écriture et non dans la htaccess.

groskanel
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 9 Nov 2006

Re: url rewriting avec espace

Message le Lun Nov 08, 2010 7:59

ha.. c'est pas que ca m'arrange vraiement ca :)

donc un bout de code php qui vire les espaces en remplacant par des tirets et le tour est joué..

Merci

groskanel
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 9 Nov 2006

Re: url rewriting avec espace

Message le Lun Nov 08, 2010 10:16

bon donc la je seche

j'ai bien mis en place un petit bout de script php pour virer les espaces et mettre des tirets a la place, ce qui fonctionne tres bien.
Sauf (bah oui sinon c'est trop facile) que maintenant, j'ai plus acces a mes pages..

l'url est bonne, avec les tirets a la place des espaces, mais c'est dans le htaccess que j'ai du zapper un truc..

Code: Tout sélectionner
# Pages articles :
RewriteRule ^article-([0-9]*)-(.*)\  article.php?rzx=$1&nom=$2 [L]


format de l'url : http://www.com/article-(id)-nom-de-l'article

et une jolie page not found..

mahdivitchee
WRInaute discret
WRInaute discret
 
Messages: 175
Inscription: 22 Mar 2010

Re: url rewriting avec espace

Message le Lun Nov 08, 2010 10:34

Bonjour
et bienvenue au f. WRI

pour le code php, je tu conseille d'utilisé cette fonction :

Code: Tout sélectionner
function nettoyage($text)
{
   $separator = "-";
   $tofind = "àáâãäåòóôõöøèéêëçìíîïùúûüÿñ"; // Lettre accentuées
   $replac = "aaaaaaooooooeeeeciiiiuuuuyn"; // Equivalent non accentué
   $text = strtr(strtolower($text),$tofind,$replac);
   $text = ereg_replace("[^a-z0-9.]", $separator, $text);
   while (strstr($text, $separator . $separator))
      $text = str_replace($separator . $separator, $separator, $text);
   if (substr($text, 0, 1) == $separator)
      $text = substr($text, 1);
   return(ereg_replace($separator . "$", "", $text));
}


pour le code httaccess : pourquoi tu es utilisé nom-de-l'article comme paramètre de la page article.php

en tous cas tester ce code : ( ton code sans \ )

Code: Tout sélectionner
RewriteRule ^article-([0-9]*)-(.*)  article.php?rzx=$1&nom=$2 [L]


ou

Code: Tout sélectionner
RewriteRule ^article-([0-9]*)-(.*)\/  article.php?rzx=$1&nom=$2 [L]

forummp3
WRInaute passionné
WRInaute passionné
 
Messages: 1982
Inscription: 8 Fév 2004

Re: url rewriting avec espace

Message le Lun Nov 08, 2010 10:38

pour ta premiere solution, il faut utiliser cette fonction:

rawurldecode()

ca te transformer les %xx en caractere ascii.

Pour ta deuxieme solution, essaye plutot:

RewriteRule ^article-([0-9]+)-(.+)$ article.php?rzx=$1&nom=$2 [L]

groskanel
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 9 Nov 2006

Re: url rewriting avec espace

Message le Lun Nov 08, 2010 11:06

bon alors effectivement avec ce code ca fonctionne parfaitement :

Code: Tout sélectionner
# Pages articles :
RewriteRule ^article-([0-9]*)-(.*)  article.php?rzx=$1&nom=$2 [L]


il suffisait juste virer le \

du coup, quelqu'un peut me dire a quoi il sert ce ' \ '

Merci

mahdivitchee
WRInaute discret
WRInaute discret
 
Messages: 175
Inscription: 22 Mar 2010

Re: url rewriting avec espace

Message le Lun Nov 08, 2010 12:10

Bonjour
"\ " Annule le meta-sens du meta-caractère qui suit

lire ce topic http://forum.webrankinfo.com/pratique-htaccess-lire-avant-poser-t132885.html

bonne journée


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités