我们目前正在使用 mod_proxy 代理到正确的目的地,代理内容如下:
ProxyPass /my-path 平衡器://服务器/路径/到/real/thing
但是,第三方向我们发送了错误的内容类型的请求。让他们更改内容类型是不可能的,所以我想使用 mod_rewrite 来实现这一点,如下所示
重写规则 ^/my-path(.*) balancer://server/path/to/real/thing$1 [P,T=text/xml]
然而,这似乎并没有起到任何作用,而且规则似乎也没有得到执行。
是否可以使用 mod_rewrite 来实现这一点,并且我是否为此目的正确设置了它?
答案1
如果您的规则未被执行,那么最好使用重写日志进行调试,详细信息如下:http://wiki.apache.org/httpd/RewriteLog
如果您在解释日志时遇到困难,请发布日志。
但是您应该能够使用 Header 指令来执行此操作。mod_rewrite 应该始终是最后手段。