我已经设置了我的coldfusion应用程序,在页面上有动态网址,例如
www.musicExplained/index.cfm/artist/:VariableName
但是我的变量名有时会包含斜杠,例如
www.musicExplained/index.cfm/artist/GZA/Genius
这导致了一个问题,因为我的应用程序假定变量名中的斜杠代表网站的不同部分,即艺术家专辑。因此URL将失败。
我想知道是否有任何方法可以防止这种情况发生?我是否需要使用一个函数将变量名中的斜杠替换为另一个字符?
答案 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,任何人都可以给我一些帮助