我的网址存储为:
<cfset VisitURL = 'http://www.toysexample.com/search.aspx?searchBox=christmasgifts≠Sort=high&search=new' />
(上面的URL字符串实际上来自我无法控制的数据库字段)
当我要求cflocation
访问上述网址时:
<cflocation url="#EncodeForURL(VisitURL)#" addtoken="no" />
它访问网址作为我网站中的子文件夹。所以我最终转到了网址http://www.volumeoneexample.com/http:/www.toysexample.com/search.aspx?searchBox=christmasgifts≠Sort=high&search=new
正如您所看到的,它已从http://
部分删除了一个正斜杠,并将该URL作为我的网站中的文件夹附加。我不明白为什么这样做?
答案 0 :(得分:3)
正如评论中所提到的,您已经过#编码&#34;。 EncodeForURL()应该只在URL参数上。
由于您无法单独检索网址和参数,因此可能能够像列表一样对待它们。
<cflocation url="#ListFirst(VisitURL,"?")#?#EncodeForURL(ListRest(VisitURL,"?"))#" />
如果事情有点不稳定,你需要做更多的操作。