2

我有以下 Apache mod_rewrite 规则:

RewriteRule ^(.*) http://127.0.0.1:4321/$1 [proxy]

这很好用;Apache 将所有请求转发到我在同一台机器上运行的 CherryPy 服务器。

不幸的是,我在使用有空格的路径时遇到了一些问题。如果我提出请求,/Sites/some%20site/image.png那么 Apache 会向 CherryPy 发出请求,/Sites/some site/image.png这会弄乱 CherryPy。

有没有办法在我的 RewriteRule 中指定我想在将请求转发到 CherryPy 之前重新转义 URL 中的空格?

编辑:我找到了一个可能有帮助的参考,但我继续通过用下划线替换空格并让 CherryPy 在提供文件之前进行转换来解决问题。

如果有人有,我仍然想知道更好的解决方案;不幸的是,我在最后期限内,目前没有时间自己解决这个问题。稍后我可能会返回此内容,并在找到时间时发布进一步的更新。

4

1 回答 1

4

请参阅http://tools.cherrypy.org/wiki/ModRewrite#Bewaretheencodingbug了解最知名的解决方案。

于 2008-10-29T19:39:36.120 回答