1

Internet Explorer で XHTML の MIME タイプを正しく設定するために、いくつかの Apache 書き換えルールを実装しようとしています。私はこれらの書き換えルールを多くの場所で見つけましたが、それらはほとんどの人に有効であるようです:

  RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
  RewriteRule .* - [T=text/html]

ただし、私のサイトでは既に [P] フラグを指定した書き換えルールを使用して、リクエストをローカルの Tomcat インスタンスにプロキシしています。私が何をしても、上記のルールは Tomcat から返される MIME タイプによって上書きされるようです。[P] フラグについて、Apache ドキュメントでは次のように説明されています。

このフラグは、置換部分がプロキシ要求として内部的に送信されるように強制し、すぐに (書き換え処理はここで停止します)

...そのため、プロキシ ルールの後に MIME ルールを配置することはできません。これらをプロキシ ルールの前に配置すると、MIME タイプはプロキシによって上書きされます。

プロキシ ルールを使用している場合、IE の MIME タイプを設定する方法はありますか? または、Tomcat で MIME タイプを変更する唯一のオプションです (残念ながら、コードの変更が必要です)。

ありがとう、ジェフ

4

1 に答える 1

1

これでうまくいくかどうかわかりませんが、試してみてください。IE 用と非 IE 用の 2 つのルールを適用します。

RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
RewriteRule ^(.*)$ http://localhost-tomcat:8080/$1 [T=text/html,P,L]

ブラウザ検出なしの 2 番目のルール

RewriteRule ^(.*)$ http://localhost-tomcat:8080/$1 [P,L]
于 2011-06-29T18:09:12.433 に答える