Bug accent dans url

Forum consacré à phpBB lui même. Comment tirer le meilleur de ce puissant forum.
Veuillez noter que ce forum n'est pas un forum de support officiel, il s'agit ici plus de partager que de demander.

Modérateur: Modérateurs

Bug accent dans url

Messagede queb69 » Mar Nov 16, 2010 12:21 pm

]Je viens de voir un autre bug dans le forum : il ne gère pas les liens ave accents. Exemple:
[url=http://fr.wikipedia.org/wiki/Liberté]Liberté (article wikipedia)[/url]
Lyon (article wikipédia)
Le code est le même dans les 2 cas : j'ai juste remplacé 'liberté' par 'Lyon'.

apparemment ça vient de la SEO car sur phpbbfr il me disent que ça le fait pas sur la version non modée
queb69
 
Messages: 6
Inscription: Mar Nov 16, 2010 12:35 am

Publicité

Re: Bug accent dans url

Messagede Hastursoft » Jeu Nov 18, 2010 7:37 pm

Bonsoir,

Essaye en remplaçant ton é par son code valide pour une URL => %C3%A9

Solution pour trouver un code valide:
- Tu vas sur la page où tu veux aller
- Tu tires le lien url sur ton bureau (il crée un racourci)
- Tu consulte le raccourci qu'il t'a créé (clic droit | propriétés)
- Tu copie l'URL valide et Hop...
- Tu le colle sur ta page
... et le tour est joué.

Il y a peut être plus simple.
Mais ça a le principe de marcher sans trop réfléchir

A+
Hastursoft
 
Messages: 25
Inscription: Jeu Avr 02, 2009 9:29 pm

Re: Bug accent dans url

Messagede gowap » Jeu Nov 18, 2010 11:39 pm

apparemment ça vient de la SEO car sur phpbbfr il me disent que ça le fait pas sur la version non modée

:roll:
personne n'a dit ca sur http://forums.phpbb-fr.com/message1364579.html#p1364579
A priori ton probleme n'a pas été compris parce que la réponse avec un exemple censé illustrer les liens avec des accents ne contient aucun accent dans l'url (mais des accents dans le texte/l'ancre du lien) et ensuite ton post a été verrouillé, donc...

C'est normal que
[url=http://fr.wikipedia.org/wiki/Liberté]Liberté (article wikipedia)[/url]
ne passe pas et ne soit pas transformé en lien, le caractère accentué é, tel quel, est interdit dans une url
Comme l'a expliqué Hastursoft, il faut le remplacer par son équivalent valide : %C3%A9

Ceci dit, la vraie question c'est comment ce lien a t-il été obtenu ?
Si on va sur wikipedia, que l'on tape "liberté" dans la zone de recherche, on atterri sur :
- IE 8 : la barre d'adresse affiche clairement http://fr.wikipedia.org/wiki/Libert%C3%A9 url peu sexy mais valide qu'il suffit de copier coller
- Firefox : l'adresse affichée est http://fr.wikipedia.org/wiki/Liberté mais si on copie/colle l'url, l'adresse collée se terminera bien par Libert%C3%A9

Dans les 2 cas, les navigateurs génèrent un lien valide. Donc suffit de pas se mettre a taper soi meme des urls avec des caractères accentués dans le corps d'un post, mais copier leur url dans le presse papier et tout se passera bien.
Gravure-News : la communauté francophone de la gravure de CD/DVD et son forum d'entraide.
Avatar de l’utilisateur
gowap
phpBB SEO Team
phpBB SEO Team
 
Messages: 1509
Inscription: Dim Mai 07, 2006 10:56 pm

Re: Bug accent dans url

Messagede philippe » Mer Déc 22, 2010 9:15 am

J'avais trouvé une solution pour mon nouveau forum en avec un domaine IDN 'accentué) pour pouvoir copier des liens sans l'équivalent avec xn--
Voici ce que j'avais noté:

Ouvrir includes/functions.php

Trouver la fonction get_preg_expression()
Il y a returns pour url, www_url, et relative_url, commenter ces lignes et les remplacer par:

Code: Tout sélectionner
    return "[a-z][a-z\d+\-.]*:/{2}(?:(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";

    return "www\.(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";

    return "(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";
Philippe
Webmaster du forum de Portail New Beetle | special-t
philippe
phpBB SEO Team
phpBB SEO Team
 
Messages: 601
Inscription: Ven Juin 23, 2006 12:00 pm
Localisation: Région Parisienne


Retourner vers Le Forum phpBB

Qui est en ligne

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