2010-01-22 2 views
1

Я пытаюсь реализовать некоторые правила перезаписи Apache, чтобы правильно установить тип MIME (in) для XHTML в Internet Explorer. Я нашел эти правила перезаписи во многих местах, и они, кажется, работает для большинства людей:Apache Rewrite Override Mime and Proxy Request?

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

Однако мой сайт уже использует правила перезаписи с [P] флаг на прокси-запросы к локальному экземпляру Tomcat. Независимо от того, что я делаю, приведенные выше правила, похоже, переопределены типом mime, возвращаемым Tomcat. Документы Apache говорят, для [P] флага:

Этого флаг заставляет подмену части быть внутренне послана как запрос прокси и немедленно (переписать обработки останавливается здесь)

.. .so я не могу поместить правила mime после моих правил прокси. Если я помещаю их перед моими правилами прокси, тип mime переопределяется прокси.

Есть ли способ установить тип mime для IE, если я использую правила прокси? Или мой единственный вариант - изменить тип mime в Tomcat (требуется, к сожалению, изменение кода).

Спасибо, Джефф

ответ

1

Я не уверен, если это будет работать, то вы можете попробовать его. Примените два правила: один для IE и один для не IE.

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

Второе правило без обнаружения браузера

RewriteRule ^(.*)$ http://localhost-tomcat:8080/$1 [P,L]