Получен тип MIME как «text/html», сервер настроен на отправку как «text/javascript»

Получен тип MIME как «text/html», сервер настроен на отправку как «text/javascript»

И Firefox, и Chrome показывают, что файлы JavaScript с моего сервера обслуживаются как MIME-тип text/html. Файлы JavaScript имеют расширение .js.

Сначала устанавливается и активируется mime_module:

apachectl -M | grep mime
 mime_magic_module (shared)
 mime_module (shared)
Syntax OK

Во-вторых, в моем файле конфигурации есть следующее:

AddType text/css .css
AddType text/javascript .js

Я попробовал добавить это:

<Files "*.js">
    ForceType text/javascript
</Files>

и перезапустил apache, но файлы javascript все еще отображаются как "text/html" в Chrome и Firefox. В error.log ничего не отображается, а access.log не возвращает ничего полезного:

1.2.3.4 - - [03/Mar/2015:10:42:00 -0500] "GET /some/dir/js/app-min.js HTTP/1.1" 200 14642

Вот заголовки одного из файлов .js (как они видны в Firefox)

Connection: close
Content-Type: text/html; charset=UTF-8
Server: Apache
Strict-Transport-Security: max-age=63072000; includeSubDomains
Transfer-Encoding: chunked
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Permitted-Cross-Domain-Policies: master-only
X-WebKit-CSP: default-src 'self'
X-XSS-Protection: 1; mode=block

Этот файл отображается как тип htmlв инспекторе Firefox.

Вот заголовок того же файла, который обслуживается экземпляром Apache на моем ноутбуке:

Connection: Keep-Alive
Date: Tue, 03 Mar 2015 15:43:52 GMT
Keep-Alive: timeout=5, max=95
Server: Apache/2.4.7 (Ubuntu)

Этот файл отображается как тип jsв инспекторе Firefox. Обратите внимание, что локальный экземпляр Apache (2.4) не отвечает Content-Type.

Почему основной сервер игнорирует AddType? Я добавил это в httpd.conf и ssl.conf (хотя мой сайт принудительно использует 443). Я перезапустил apache (синтаксических ошибок нет).

решение1

У меня возникла похожая проблема: какой-то системный администратор добавил следующую директиву в conf.modules.d/10-php.conf:

SetHandler application/x-httpd-php

Но это устанавливает все расширения для этого обработчика, поэтому я меняю его на:

AddHandler php5-script .php

Проблема решена :)

решение2

Проблема решена. conf.d/php.conf содержал следующие строки:

AddHandler php5-script .php .phtml .html .css .js
AddType text/html .php

Я изменил первую строку на

AddHandler php5-script .php .phtml .html
AddType text/html .php

Затем сохранил и перезапустил Apache. Файлы js и css теперь отображаются с правильным типом mime в Firefox/Chrome.

Кстати, я попробовал добавить AddType text/javascript .jsчуть ниже AddType text/html .php, но файлы все еще отображались как text/htmlв Inspector. Мне пришлось удалить .css и .js из AddHandler для отправки правильного типа mime.

Связанный контент