web-dev-qa-db-fra.com

barres obliques dans les variables d'URL

J'ai configuré mon application coldfusion pour avoir des URL dynamiques sur la page, telles que

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

Cependant, mes noms de variables contiennent parfois des barres obliques, telles que

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 de l'artiste. Donc, l'URL va échouer.

Je me demande s'il est possible d'empêcher que cela se produise. Dois-je utiliser une fonction qui remplace les barres obliques dans les noms de variables par un autre caractère?

89
namtax

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

146
SLaks

Vous pouvez facilement remplacer les barres obliques / avec quelque chose comme un trait de soulignement _ tels que ceux utilisés par Wikipedia pour les espaces. Le remplacement des caractères spéciaux par des traits de soulignement, etc. est une pratique courante.

17
Caleb Thompson

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

Par exemple URLEncoder.encode(url, "UTF-8")

Alors tu peux dire

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