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

时间:2014-11-19 13:05:58

标签: apache .htaccess mod-rewrite jboss5.x mod-headers

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

我尝试使用mod_rewrite规则执行此操作:

RewriteCond %{HTTP_USER_AGENT} .*MSIE\s8.*
RewriteRule /app/name(.*) - [T=application/new.content.type+xml]

此规则适用于静态内容,但不适用于REST服务响应。

我使用Apache 2.2.3和JBoss 5.1。

在Apache上,我已经在httpd.conf文件和日志文件中配置了RewriteRule,请参阅:

(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服务内容类型保持不变。

有人可以提出原因或后续步骤进一步调试吗?

非常感谢。

0 个答案:

没有答案
相关问题