在url变量中斜杠

时间:2010-06-07 18:53:07

标签: url escaping

我已经设置了我的coldfusion应用程序,在页面上有动态网址,例如

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

但是我的变量名有时会包含斜杠,例如

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

这导致了一个问题,因为我的应用程序假定变量名中的斜杠代表网站的不同部分,即艺术家专辑。因此URL将失败。

我想知道是否有任何方法可以防止这种情况发生?我是否需要使用一个函数将变量名中的斜杠替换为另一个字符?

5 个答案:

答案 0 :(得分:140)

您需要以%2F转义斜杠。

答案 1 :(得分:16)

您可以轻松地将正斜杠/替换为类似下划线_的内容,例如维基百科用于空格。用下划线等替换特殊字符是常见的做法。

答案 2 :(得分:7)

你需要逃避这些,但不要只是手动将其替换为%2F。您可以使用URLEncoder

例如URLEncoder.encode(url, "UTF-8")

然后你可以说

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

答案 3 :(得分:1)

查看有关w3schools的有关“ HTML URL编码参考”的页面: https://www.w3schools.com/tags/ref_urlencode.asp

对于/,您会逃脱%2F

答案 4 :(得分:0)

当我刷新页面时,它将把网址从/artist/GZA%2FGenius更改为/artist/GZA/Genius,然后路由到404,任何人都可以给我一些帮助