156 votes

barres obliques dans les variables url

J'ai configuré mon application coldfusion pour avoir des urls dynamiques sur la page, comme par exemple

www.musicExplained/index.cfm/artist/:VariableName

Cependant, les noms de mes variables contiennent parfois des barres obliques, comme par exemple

www.musicExplained/index.cfm/artist/GZA/Genius

Cela pose un problème, car mon application suppose que la barre oblique dans le nom de la variable représente une section différente du site web, les albums des artistes. L'URL échouera donc.

Je me demande s'il existe un moyen d'éviter cela ? Dois-je utiliser une fonction qui remplace les barres obliques dans les noms de variables par un autre caractère ?

257voto

SLaks Points 391154

Vous devez échapper aux barres obliques en tant que %2F .

18voto

Aniket Thakur Points 10135

Vous devez y échapper, mais ne le remplacez pas simplement par un autre. %2F manuellement. Vous pouvez utiliser URLEncoder pour cela.

Eg URLEncoder.encode(url, "UTF-8")

Vous pouvez alors dire

yourUrl = "www.musicExplained/index.cfm/artist/" + URLEncoder.encode(VariableName, "UTF-8")

17voto

Caleb Thompson Points 1386

Vous pouvez facilement remplacer les barres obliques / avec quelque chose comme un trait de soulignement _ comme Wikipédia le fait pour les espaces. Il est courant de remplacer les caractères spéciaux par des traits de soulignement, etc.

5voto

Inquisitus Points 21

Consultez cette page de w3schools sur "HTML URL Encoding Reference" : https://www.w3schools.com/tags/ref_urlencode.asp

pour /, on utilise %2F

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X