我的网站提供来自tocmat的文档,文件名中有时会有&
个。
所以
nick&janes.doc
以下是我们访问的网址:
http://mysite.com/sub/nick%26janes.doc
出于某种原因,由于某些错误,我们的Apache + OpenSSL版本无法正确重写。所以%26变成了&然后请求全部被破坏,因为http://mysite.com/sub/nick&janes.doc
升级OpenSSL将解决问题,但不幸的是,这几个月都不是一个选择。
作为解决方法,我们正在尝试创建一个可以将任何%26
转换为特殊字符序列的重写规则....让我们说___--___
。然后在Tomcat上,我们可以使用过滤器来修复URL,从而没有更多问题。
任何人都知道如何编写这样的重写规则?
答案 0 :(得分:0)
RewriteRule ^(.*)&(.*)$ $1__-__$2 [N]
这会将foo%26bar
变为foo__-__bar
此时,您可以使用Tomcat过滤器将__-__
的任何网址更改回%26