【发布时间】:2010-09-19 20:25:23
【问题描述】:
我有以下 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 中的空格?
编辑:我找到了对 something that might help 的引用,但我继续通过用下划线替换空格并让 CherryPy 在提供文件之前进行转换来避免问题。
如果有人有的话,我仍然想知道一个更好的解决方案;不幸的是,我在最后期限内,目前没有时间自己解决这个问题。稍后我可能会返回此内容,并在找到时间时发布进一步的更新。
【问题讨论】:
-
您确定这是您的确切规则吗?如果您使用 [NE] 标志,这就是行为。您可能偶然发现了一个错误,您的 apache 版本和平台是什么?
-
这是确切的规则;我从我的 .htaccess 文件中复制/粘贴了它。我在 Windows Server 2003 上使用 Apache 2.2.9。
-
尝试在rewriteloglevel 9中启用rewritelog,看看有没有线索,因为这很奇怪
标签: apache mod-rewrite cherrypy