Рейтинг:1

("text/plain") не является поддерживаемым типом MIME таблицы стилей.

флаг cn

Мы только что обновились с Drupal 8 до Drupal 9, и теперь у нас есть некоторые файлы css, которые не работают в Chrome из-за приведенной ниже ошибки.

Отказался применить стиль из '', потому что его тип MIME ('text/plain') не является поддерживаемым типом MIME таблицы стилей и строгим Проверка MIME включена.

Эти файлы css находятся в каталоге личных файлов сайта. Я проверил, что mime_module загружен, поскольку я вижу это в журналах apache.

модуль mime_module уже загружен, пропуская

у меня тоже есть .htaccess файлы включены с помощью Разрешить переопределить все в httpd.conf

Я попытался поместить следующее в .htaccess файл в родительском каталоге файлов css, в нашем /etc/httpd/conf.d/drupal.conf, И в /etc/httpd/conf/httpd.conf но ничего не исправляет ошибку

AddType текст/css .css
AddHandler текст/css .css

и

AddType 'текст/css; кодировка = UTF-8 'css

и

<FilesMatch "(\.css)$">
    AddType text/css .css
    Header set Content-Type text/css
</FilesMatch>

Почему apache не устанавливает правильный Тип содержимого?

флаг cn
Вы посещали один из путей CSS напрямую? По моему опыту, эта ошибка браузера обычно возникает, когда Drupal возвращает HTML 403/404/500 для пути.
флаг cn
Да, когда я захожу напрямую, он загружает css в моем браузере, но как `text/plain`. На самом деле наша производственная среда все еще работает на Drupal 8, и css там загружается нормально. Это начало происходить в Drupal 9
флаг cn
Извините, игнорируйте меня, я неправильно понял `plain` как `html`
4uk4 avatar
флаг cn
Если файлы CSS действительно находятся в каталоге личных файлов, это не проблема Apache. Drupal контролирует доступ и обслуживает файлы через PHP.
флаг cn
Спасибо, я думаю, что это https://drupal.stackexchange.com/a/56967/102670 может быть ответом
4uk4 avatar
флаг cn
Не знаю. Обычно файлы в частном каталоге управляются, а тип MIME находится в базе данных.Если нет, вы можете использовать hook_file_download, чтобы управлять им самостоятельно. Вам не нужен связанный ответ для стандартного типа MIME, уже определенного в Drupal.
Рейтинг:2
флаг cn

Если файлы CSS находятся в каталоге личных файлов, это не проблема Apache. Drupal контролирует доступ и обслуживает файлы через PHP. Обычно файлы, хранящиеся в частном каталоге, являются управляемыми, а тип MIME указывается в таблице базы данных file_managed. Если нет, вы можете использовать hook_file_download управлять ими самостоятельно:

используйте Drupal\Core\StreamWrapper\StreamWrapperManager;

/**
 * Реализует hook_file_download().
 */
функция mymodule_file_download($uri) {
  $схема = StreamWrapperManager::getScheme($uri);
  $target = StreamWrapperManager::getTarget($uri);
  если ($ схема == 'частный' && substr ($ target, -4) == '.css') {
    возвращаться [
      'Тип контента' => 'текст/css',
    ];
  }
}

Это позволяет любому получить доступ к файлам CSS в частном каталоге, а также устанавливает тип MIME.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.