Apache mod_重写中的转义空格

Apache mod_重写中的转义空格,apache,mod-rewrite,cherrypy,Apache,Mod Rewrite,Cherrypy,我有以下Apache mod_重写规则: RewriteRule ^(.*) http://127.0.0.1:4321/$1 [proxy] 这很有效;Apache将所有请求转发到我在同一台机器上运行的CherryPy服务器 不幸的是,我在有空间的路径上遇到了一些问题。如果我请求/Sites/some%20site/image.png,那么Apache向CherryPy请求/Sites/some site/image.png,这会把CherryPy搞砸 在将请求转发给CherryPy之前,是

我有以下Apache mod_重写规则:

RewriteRule ^(.*) http://127.0.0.1:4321/$1 [proxy]
这很有效;Apache将所有请求转发到我在同一台机器上运行的CherryPy服务器

不幸的是,我在有空间的路径上遇到了一些问题。如果我请求
/Sites/some%20site/image.png
,那么Apache向CherryPy请求
/Sites/some site/image.png
,这会把CherryPy搞砸

在将请求转发给CherryPy之前,是否有办法在我的重写规则中指定要重新转义URL中的空格

编辑:我找到了一个对的引用,但我继续并回避了这个问题,用下划线替换空格,并让CherryPy在提供文件之前进行转换


我仍然想知道一个更好的解决方案,如果有人有一个;不幸的是,我在一个最后期限,没有时间去胡闹,在这一刻自己。我可能会稍后再讨论此问题,并在找到时间后发布进一步的更新。

请查看最著名的解决方案。

您确定这就是您的确切规则吗?如果使用[NE]标志,这就是行为。您可能偶然发现了一个bug,您的apache版本和平台是什么?这是确切的规则;我从.htaccess文件中复制/粘贴了它。我正在Windows Server 2003上使用Apache 2.2.9。请尝试在rewriteloglevel 9中启用rewritelog,并检查是否有线索,因为这很奇怪