Apache 使用mod_rewrite更改REST服务响应内容类型

Apache 使用mod_rewrite更改REST服务响应内容类型,apache,.htaccess,mod-rewrite,jboss5.x,mod-headers,Apache,.htaccess,Mod Rewrite,Jboss5.x,Mod Headers,为了解决IE8兼容性问题,我希望在不更改应用程序源代码的情况下更改REST服务响应的内容类型 我正试图用mod_重写规则来实现这一点: RewriteCond %{HTTP_USER_AGENT} .*MSIE\s8.* RewriteRule /app/name(.*) - [T=application/new.content.type+xml] 此规则适用于静态内容,但不适用于REST服务响应 我在JBoss5.1中使用Apache2.2.3 在Apache上,我在httpd.conf文件

为了解决IE8兼容性问题,我希望在不更改应用程序源代码的情况下更改REST服务响应的内容类型

我正试图用mod_重写规则来实现这一点:

RewriteCond %{HTTP_USER_AGENT} .*MSIE\s8.*
RewriteRule /app/name(.*) - [T=application/new.content.type+xml]
此规则适用于静态内容,但不适用于REST服务响应

我在JBoss5.1中使用Apache2.2.3

在Apache上,我在httpd.conf文件和日志文件中配置了重写规则,请参见:

(3) applying pattern '/app/name(.*)' to uri '/app/name/events/service'
(4) RewriteCond: input='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR     2.0.50727)' pattern='.*MSIE\\s8.*' => matched
(2) remember /app/name/events/service to have MIME-type 'new.content.type'
(1) pass through /app/name/events/service
(1) force filename service to have MIME-type 'new.content.type'
在JBoss上,我尝试在引擎和服务器级别配置RewriteValve,在日志文件中我可以看到:

2014-11-19 10:56:34,442 DEBUG [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost]] Rewrote /app/name/events/services as /app/name/events/services with rule pattern /app/name(.*)
规则似乎已应用,但我的REST服务内容类型保持不变

有人能提出一个原因,或者进一步调试的下一步吗


非常感谢

mod_rewrite不会修改下游响应。改为使用mod_标题,并使用标题添加或标题编辑:感谢您的帮助@arco444。查看文档,您完全正确,我已经能够使用mod_header更改其他响应头。不幸的是,我们使用的是Apache2.2.3,似乎直到2.2.12才支持对带有mod_头的内容类型进行更改。还有别的办法吗?