IE8 の互換性の問題を回避するために、アプリケーションのソース コードを変更せずに REST サービス レスポンスのコンテンツ タイプを変更したいと考えています。
私は mod_rewrite ルールでこれをやろうとしています:
RewriteCond %{HTTP_USER_AGENT} .*MSIE\s8.*
RewriteRule /app/name(.*) - [T=application/new.content.type+xml]
このルールは静的コンテンツには機能しますが、REST サービスの応答には機能しません。
JBoss 5.1 で Apache 2.2.3 を使用しています。
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 サービスのコンテンツ タイプは同じままです。
誰かがその理由、またはこれをさらにデバッグするための次のステップを提案できますか?
どうもありがとう。