We have just migrated from Apache 2.0.53 to Apache 2.4
Everything works perfectly for html/js/css files etc.
But we have a number of endpoints on our servers which return plain text.
For example – an endpoint would return –
RIL~Reliance Industries~1234~abcd
By default the response for these do not contain any "content-type" but I am expecting "text/plain"
In Apache 2.0.53 we were using
DefaultType text/plain
But in Apache 2.4 , this directive is disabled. (Ref:http://httpd.apache.org/docs/2.4/mod/core.html#defaulttype)
I have a large number of requests and want a generic solution that I can apply to my apache so that if there is no content-type provided, then it should send "text/plain"
Any suggestions please.
Best Answer
One solution is to use
ForceType text/plain
to set theContent-Type
header totext/plain
. This will make all responses returntext/plain
, however.A very specific problem in using
ForceType
is that it breaksmod_mime
's file extension detection. For example, files requested with.css
or.js
extensions won't have theirContent-Type
set totext/css
orapplication/javascript
and will instead have it set totext/plain
: probably not what you want.As noted in a chain on the apache mailing list, the reason why
DefaultType
was removed is because they are now recommending that the browser do the sniffing to figure out the content-type. If you're upgrading from apache 2.2 to 2.4, then you should try to just use it without adding it back in.