【发布时间】:2014-12-19 04:46:13
【问题描述】:
我有一个允许搜索的网络应用程序。因此,当我转到somedomain.com/search/<QUERY> 时,它会根据<QUERY> 搜索实体。问题是,当我尝试搜索 . 或 .. 时,它没有按预期工作(这很明显)。但令我惊讶的是,如果我手动输入 somedomain.com/search/%2E 的 url,浏览器(经过测试的 Chrome 和 IE11)会将其转换为 somedomain.com/search/ 并发出没有必要负载的请求。
到目前为止,我还没有找到任何可以说它不可能完成的事情,所以我来到了这里。现在我只有一个选择:将. 和.. 替换为__dotPlaceholder__ 之类的东西,但这对我来说就像一个肮脏的黑客攻击。
欢迎任何解决方案(js 或非 js)。任何关于浏览器为什么要去除 url 编码点的信息也是不错的选择。
【问题讨论】:
-
这可能是服务器重定向问题吗?
-
@ZathrusWriter 我认为不会。如果我打开 Chrome 开发控制台,它会告诉我唯一的请求是
%2E已经被剥离的请求
标签: javascript url browser