Apache 2.0.45 mod_rewrite MIME-type rewriting
Hi,
On Apache 1.3.27 I successfully use the following to set the MIME-type
of XHTML files to text/html instead of the default
application/xhtml+xml for browsers that can't handle the latter:
RewriteCond %{REQUEST_FILENAME} "\.xhtml$" [NC]
RewriteCond %{HTTP_ACCEPT} "!application/xhtml\+xml" [OR]
RewriteCond %{HTTP_ACCEPT} "application/xhtml\+xml\s*;\s*q=0([^.]|$)"
RewriteRule .* - [PT,T=text/html]
On Apache 2.0.44 and 2.0.45 this however does not work, ie. the XHTML
files are always delivered with a Content-Type of application/xhtml+xml.
I get the following rewrite log when simply fetching /index.xhtml with
wget:
::1 - - [08/Apr/2003:23:00:46 +0200] [wren.elho.net/sid#811a9d8][rid#846cdd8/initial] (4) RewriteCond: input='/index.xhtml' pattern='\.xhtml$' => matched
::1 - - [08/Apr/2003:23:00:46 +0200] [wren.elho.net/sid#811a9d8][rid#846cdd8/initial] (4) RewriteCond: input='*/*' pattern='!application/xhtml\+xml' => matched
::1 - - [08/Apr/2003:23:00:46 +0200] [wren.elho.net/sid#811a9d8][rid#846cdd8/initial] (2) remember /index.xhtml to have MIME-type 'text/html'
::1 - - [08/Apr/2003:23:00:46 +0200] [wren.elho.net/sid#811a9d8][rid#846cdd8/initial] (1) pass through /index.xhtml
This shows that the conditions work and the RewriteRule gets applied,
but Apache either seems to "forget" to actually set the MIME-type to
text/html or something (some filter?) happening after mod_rewrite set
it, sets it back again.
As for possibly interfering filters, disabling mod_deflate and
mod_headers didn't change anything.
Am I missing something or is this a bug?
elmar
--
.'"`. /"\
| :' : Elmar Hoffmann <elho@elho.net> ASCII Ribbon Campaign \ /
`. `' PGP key available via pgp.net against HTML email X
`- & vCards / \
Reply to: