Мы только что перешли с Apache 2.0.53 на Apache 2.4. Все отлично работает с файлами html / js / css и т. Д.
Но у нас есть несколько конечных точек на наших серверах, которые возвращают простой текст. Например - конечная точка вернет -
RIL~Reliance Industries~1234~abcd
По умолчанию ответ для них не содержит «тип содержимого», но я ожидаю «текст / простой»
В Apache 2.0.53 мы использовали
DefaultType text/plain
Но в Apache 2.4 эта директива отключена. (Ссылка:http://httpd.apache.org/docs/2.4/mod/core.html#defaulttype)
У меня много запросов, и мне нужно универсальное решение, которое я могу применить к своему apache, чтобы, если не указан тип содержимого, он должен отправлять «текст / простой»
Любые предложения, пожалуйста.
Одно из решений - использовать ForceType text/plain
установить Content-Type
заголовок в text/plain
. Это сделает все ответы возвращение text/plain
, тем не мение.
Очень специфическая проблема использования ForceType
это то, что ломается mod_mime
определение расширения файла. Например, файлы, запрошенные с .css
или .js
расширения не будут иметь Content-Type
установлен в text/css
или application/javascript
и вместо этого он будет установлен на text/plain
: наверное не то, что ты хочешь.
Как отмечено в цепочка в списке рассылки apache, причина почему DefaultType
был удален, потому что теперь они рекомендуют браузеру выполнить анализ, чтобы определить тип содержимого. Если вы обновляетесь с apache 2.2 до 2.4, вам следует попробовать просто использовать его, не добавляя его снова.
Нашел решение.
ForceType text/plain
Это сработало для меня ....
Это, вероятно, сломает что-то еще ... css rss pdf video и т. Д.
Обычно проблема возникает с «файлами» без расширения.
Это кажется мне самым простым способом справиться с этим
<FilesMatch "^[^.]+$">
ForceType text/html
</FilesMatch>`