【发布时间】:2011-01-10 11:59:18
【问题描述】:
我正在尝试诊断客户站点遇到的问题。基本上,当您在他们的网站上进行地址搜索时,您可以为通配符搜索指定 % 符号。例如,您可以搜索Be% 以返回Belfast 等。
这会查询数据库,然后将您重定向到结果页面,并在查询字符串中传递搜索条件,例如 results.aspx?criteria=Search%20criteria%20is%20Be%
如果您搜索 %Belf 之类的内容,则会出现问题,因为 %Be 是 URL 编码中的保留字符。因此,我对其进行了编码以将% 替换为%25(% 符号的 URL 编码表示)。这在我的测试机器上运行良好,现在 URL 为 results.aspx?criteria=Search%20Criteria%20is%20%25Be 。
但是,由于某种原因,这在我们的客户网站上不起作用,我不知道为什么。该页面不断出错:
错误代码:500 内部服务器错误。请求被拒绝 HTTP 过滤器。请联系服务器管理员。 (12217)
任何时候你搜索类似%Be%Fa%Fe等的东西等等
有谁知道是否有为此或类似的 IIS 设置?
【问题讨论】:
-
我也遇到了同样的问题,你找到解决办法了吗?
-
不,抱歉,我最终只是执行了通配符查询,然后从 URL 中删除了百分比符号