URL rewriting et caracteres speciaux dans l'URL

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

bloodipunk
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 11 Aoû 2010

URL rewriting et caracteres speciaux dans l'URL

Message le Jeu Aoû 26, 2010 8:05

Bonjour a tous

Je mets en place une politique de réécriture d'URL pour permettre un meilleur classement du site par Google...
La réécriture fonctionne très bien après quelques déboires (cf mon posts précédent)

Je me heurte juste maintenant a un problème de conversion d'URL lors du URL rewriting...

prenons un exemple simple j'ai l'URL suivante
toto.php?reference=toto&desc=Sacs+à+main

qui est codée
toto.php?reference=toto&desc=Sacs+%A0+main
dans le lien du code PHP via urlencode.

cette URL est normalement transformée en
art/Sacs+%A0+main/toto.html
par le URL rewriting, mais elle est en fait re-encodée
art/Sacs+%25C3%25A0+main/toto.html

Vous constatez que le rewrite a retranscodé le % en %25 (valeur ascii de %), alourdissant l'URL et la rendant illisible...

Quand je cliquais sur un <a href="toto.php?reference=toto&desc=Sacs+%A0+main" /> non redirigé, j'avais bien toto.php?reference=toto&desc=Sacs+à+main dans la barre d'adresse, et je voudrais art/Sacs+à+main/toto.html maintenant... Ce qui n'est pas le cas

Je ne vois pas comment faire pour eviter cela dans le .htaccess.... :?
A L'AIDE !!!
Merci beaucoup :)


cthierry
WRInaute passionné
WRInaute passionné
 
Messages: 2466
Inscription: 15 Jan 2005

Re: URL rewriting et caracteres speciaux dans l'URL

Message le Jeu Aoû 26, 2010 10:23

Peut être remplacer les accentuées par des non accentuées.
à => a
é => e
ç => c
etc...

bloodipunk
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 11 Aoû 2010

Re: URL rewriting et caracteres speciaux dans l'URL

Message le Jeu Aoû 26, 2010 10:41

Merci de ta réponse,

Oui, bien sur, j'y ai pensé (j'ai d'ailleurs une petite fonction qui le fait tout seul très bien), mais cela ne résoudrait pas vraiment mon problème, car sur certaines URL ses infos sont des clés d'accès a des fichiers... Et la impossible de modifier ces données !

De plus la plupart des infos viennent d'une base de données en UTF8, modifiable a loisir par le propriétaire du site (il peut même gérer son site en hébreu ou en arabe...)...

Ce dont j'ai besoin est donc d'une solution pour régler le problème du Rewriterule directement, sans avoir a modifier les données (dont je ne suis pas "propriétaire")

Y'a bien un truc, forcement.... je vous mets le code du .htaccess, peut-être quelqu'un pourra me SAUVER :? :? :?

Code: Tout sélectionner
<IfModule mod_rewrite.c>
RewriteEngine Off
RewriteCond %{QUERY_STRING} ^reference=(.*)&surcat=(.*)&catdesc=(.*)&desc=(.*)
RewriteRule article\.php(.*) /art/%2/%3/%4/%1.html? [R=301,L]

RewriteRule art/(.*)/(.*)/(.*)/(.*)\.html /article.php?reference=$4 [L]
RewriteRule art/(.*)/(.*)/(.*)/(.*)/(.*)/(.*) $4/$5/$6 [L]
RewriteRule art/(.*)/(.*)/(.*)/(.*)/(.*) /$4/$5 [L]
</IfModule>


MERCI ! :D

bloodipunk
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 11 Aoû 2010

Re: URL rewriting et caracteres speciaux dans l'URL

Message le Jeu Aoû 26, 2010 11:23

Bon, ben j'ai la solution (Et encore merci Mac, il est trop bon =>http://www.developpez.net)

alors je vous la donne (au lieu de juste vous dire que j'ai trouvé... :lol: :lol: )
comme ca si quelqu'un d'autre a le problème il saura aussi comment faire !!
Il suffisait simplement de rajouter NE dans les paramètres du 1er rewriting
Code: Tout sélectionner
<IfModule mod_rewrite.c>
RewriteEngine Off
RewriteCond %{QUERY_STRING} ^reference=(.*)&surcat=(.*)&catdesc=(.*)&desc=(.*)
RewriteRule article\.php(.*) /art/%2/%3/%4/%1.html? [R=301,L[color=#FF0000],NE[/color]]

RewriteRule art/(.*)/(.*)/(.*)/(.*)\.html /article.php?reference=$4 [L]
RewriteRule art/(.*)/(.*)/(.*)/(.*)/(.*)/(.*) $4/$5/$6 [L]
RewriteRule art/(.*)/(.*)/(.*)/(.*)/(.*) /$4/$5 [L]
</IfModule>

Et voila....
bien a vous...

(Quand je pense a toutes les horreurs que j'ai vu sur le net pour répondre a ce sujet, genre fonctions PHP, etc... alors qu'un simple paramètre et ca suffit :lol: :lol: !!!)

C'est le problème du URL Rewriting, très peu de gens seulement semblent parfaitement maitriser le language.... 8O :cry: 8)


JanoLapin
WRInaute accro
WRInaute accro
 
Messages: 4054
Inscription: 21 Sep 2008

Re: URL rewriting et caracteres speciaux dans l'URL

Message le Mer Mai 11, 2011 2:29

et euh.. je n'y connais rien, mais la syntaxe rewrite engine ne devrait pas plutôt être sur on ?


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 :

  • Analyse des backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Recherche de citations d'un site en texte brut
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

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