Je me demande comment gérer URLs
qui correspondent à des chaînes contenant diacritique (á
, ǚ
, ´
...). Je crois que ce que nous voyons le plus souvent est URLs
où les caractères diacritiques ont été convertis en leur équivalent ASCII
le plus proche, par exemple Rånades på Skyttis i Ö-vik
converti en ranades-pa-skyttis-i-o-vik
.
Cependant, selon la langue correspondante, cette conversion peut être incorrecte. Par exemple, dans German
, ü
doit être converti en ue
et pas seulement u
, comme indiqué avec le _ ci-dessous URL
représentant le Bayern München
chaîne comme bayern-muenchen
:
http://www.bundesliga.de/en/liga/clubs/fc-bayern-muenchen/index.php
Cependant, ce que j'ai aussi remarqué, c'est que les navigateurs peuvent afficher des caractères non -ASCII
lorsqu'ils sont codés en pourcentage dans la URL
, qui est l'approche Wikipedia
a choisi, par exemple, http://de.wikipedia.org/wiki/FC_Bayern_M%C3%BCnchen
qui est représenté par:
Par conséquent, j’envisage l’approche suivante pour créer des slugs URL
:
- (1) convertit les chaînes en remplaçant les caractères non -ASCII
par leur représentation recommandée ASCII
: Bayern München
-> bayern-muenchen
- (2) convertit également les chaînes en percent encoding
: Bayern München
-> bayern_m%C3%BCnchen
- crée une 301
redirection de version (1) vers version (2)
La version (1) URLs
pourrait être utilisée à des fins de marketing (par exemple, mywebsite.com/bayern-muenchen
) mais la URLs
qui serait affichée dans la barre de navigateur serait la version (2) URLs
(par exemple, mywebsite.com/bayern-münchen
).
Pouvez-vous prévoir des problèmes particuliers avec cette approche? (Wikipedia ne le fait pas et je me demande pourquoi, mis à part le fait qu'ils n'ont pas besoin de commercialiser leur URLs
)
Lorsque vous utilisez des caractères internationaux dans vos URL, vous devez prendre en compte quelques problèmes:
http://www.dmoz.org/World/Japanese/オンラインショップ/地域別・エスニック/アジア/日本/
http://www.dmoz.org/World/Japanese/%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%97/%E5%9C%B0%E5%9F%9F%E5%88%A5%E3%83%BB%E3%82%A8%E3%82%B9%E3%83%8B%E3%83%83%E3%82%AF/%E3%82%A2%E3%82%B8%E3%82%A2/%E6%97%A5%E6%9C%AC/
Supprimer les signes diacritiques dans les URL peut être correct, mais ce n'est pas possible pour tous les caractères internationaux (comme le chinois et le japonais). Cela peut également dépendre de la langue: ü
peut être remplacé par ue
en allemand, mais par un simple u
dans une autre langue.
Je choisirais la première approche, à savoir:
Ensuite, vos URL seront lisibles par vos visiteurs et emballés avec de la nourriture dans les moteurs de recherche.