косые черты в переменных URL - PullRequest
86 голосов
/ 07 июня 2010

Я настроил мое приложение для Coldfusion на динамические URL-адреса на странице, например

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

Однако имена моих переменных иногда будут содержать косую черту, например

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

Это вызывает проблему, поскольку мое приложение предполагает, что косая черта в имени переменной представляет другой раздел веб-сайта, альбомы исполнителей. Так что URL не удастся.

Мне интересно, есть ли способ предотвратить это? Нужно ли использовать функцию, которая заменяет косые черты в именах переменных на другой символ?

Ответы [ 3 ]

142 голосов
/ 07 июня 2010

Вы должны убежать от косой черты как %2F.

16 голосов
/ 07 июня 2010

Вы можете легко заменить косую черту / на что-то наподобие подчеркивания _, например, в Википедии для пробелов. Замена специальных символов подчеркиванием и т. Д. Является обычной практикой.

7 голосов
/ 28 октября 2016

Вы должны избегать их, но не просто заменить их на %2F вручную Вы можете использовать URLEncoder для этого.

Например URLEncoder.encode(url, "UTF-8")

Тогда вы можете сказать

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