Назад | Перейти на главную страницу

Неправильный MIME-тип для файлов css и js

Я новичок в Apache. Я почти не разбираюсь в apache. Я использую apache 2.2.11.
У меня есть один файл css и несколько файлов .js, которые я загружаю в удаленное хранилище со страницей php (PHP - 5.2.8). Когда я использую функцию mime_content_type чтобы получить тип mime файла css.css, я получаю text/plain. Та же проблема с файлами .js. Есть некоторые файлы изображений, для которых возвращаемые mime-типы верны с той же функцией.

Я проверил, что на сервере text/css css определено в файле mime.types. Неправильный mime-тип создает для меня проблему, и я провел много времени безуспешно.

Любая помощь?

Во-первых, обратите внимание, что PHP mime_content_type применяется к файлам их содержание это совсем другая история, чем MIME-тип, который Apache предоставляет клиентам их расширение файла. Затем, mime_content_type кажется устаревшим в пользу fileinfo. Но действительно важная вещь: содержание файла css не обязательно обнаруживается как CSS (а не только как простой текст ascii). Это отличается от HTML, который можно узнать по отличительным первым символам контента (например, "<HTML") и поэтому признаны text/html. Таким образом, не существует достаточно прямого способа узнать по содержанию что файл действительно является CSS, а не просто текстом ASCII. Я предлагаю вам полагаться на расширение файла, чтобы переопределить текстовые / простые результаты.

Из документация PHP для функции mime_content_type:

строка mime_content_type (строка $ имя файла)

Возвращает тип содержимого MIME для файла, определенный с использованием информации из magic.mime файл.