我们已在产品中构建了“重定向”引擎,因此我们的客户可以添加/编辑/删除自定义重定向,而无需在服务器上维护一堆重写规则。
传递给我们代码的网址中出现了一些问题。我们从Coldfusion填充的CGI.QUERY_STRING
属性中提取这些内容(它取决于IIS / Coldfusion抛出的404,它将错误的URL附加为?404;http://www.mysite.com:80/nonexistent-file.cfm
之类的查询字符串。)
我们看到的是,某些特殊字符会在其中添加一个额外的字符(一个)字符。拿这个URL(%A9是版权符号):
http://www.mysite.com/%A9/
CGI.QUERY_STRING
将此报告为:
http://www.mysite.com:80/©/
我不知道这个额外的“”来自哪里。我有一种预感,这是由IIS引入的,但也可能是Coldfusion,因为它必须填充CGI
变量。
关于为什么会发生这种情况以及如何解决问题的任何想法?似乎并非所有百分比编码/特殊字符都这样做......
编辑:
我可能已经放弃了我的确切问题,但是,知道为什么IIS或Coldfusion会抛出这个额外的字符(特别是对于某些转义序列而不是其他转义序列)仍然是有益的。
答案 0 :(得分:1)