1

我的网站提供来自 tocmat 的文档,这些文档有时&在文件名中有 '。

所以

nick&janes.doc

这是我们访问它的 URL:

http://mysite.com/sub/nick%26janes.doc

出于某种原因,由于某些错误,我们的 Apache + OpenSSL 版本无法正确重写。所以 %26 变成了 & 然后请求全部被破坏,因为http://mysite.com/sub/nick&janes.doc

升级 OpenSSL 将解决这个问题,但不幸的是,这在几个月内都不是一个选项。

作为一种变通方法,我们正在尝试创建一个重写规则,可以将任何%26字符序列转换为特殊字符序列......让我们说___--___。然后在 Tomcat 上,我们可以使用过滤器来修复 URL,因此不再有问题。

有谁知道我怎么能写出这样的重写规则?

4

1 回答 1

0
RewriteRule ^(.*)&(.*)$ $1__-__$2 [N]

foo%26bar变成foo__-__bar

此时,您可以使用 Tomcat 过滤器将任何 URL 更改__-__回 %26

于 2012-08-14T16:22:58.023 回答