Mime-Typ als „text/html“ empfangen, Server zum Senden als „text/javascript“ konfiguriert

Mime-Typ als „text/html“ empfangen, Server zum Senden als „text/javascript“ konfiguriert

Sowohl Firefox als auch Chrome zeigen an, dass JavaScript-Dateien von meinem Server als MIME-Typ text/html bereitgestellt werden. Die JavaScript-Dateien haben die Erweiterung .js.

Zuerst wird mime_module installiert und aktiviert:

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

Zweitens habe ich Folgendes in meiner Konfigurationsdatei:

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

Ich habe versucht, Folgendes hinzuzufügen:

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

und Apache neu gestartet, aber die JavaScript-Dateien werden in Chrome und Firefox immer noch als „text/html“ angezeigt. In error.log wird nichts angezeigt und access.log gibt nichts Nützliches zurück:

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

Hier sind die Header einer der .js-Dateien (wie in Firefox angezeigt)

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

Diese Datei wird als Typ htmlim Firefox-Inspektor angezeigt.

Hier ist der Header derselben Datei, die von der Apache-Instanz meines Laptops bereitgestellt wird:

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

Diese Datei wird jsim Firefox-Inspektor als Typ angezeigt. Beachten Sie, dass die lokale Instanz von Apache (2.4) nicht mit antwortet Content-Type.

Warum ignoriert der Hauptserver AddType? Ich habe dies sowohl zu httpd.conf als auch zu ssl.conf hinzugefügt (obwohl meine Site 443 erzwingt). Ich habe Apache neu gestartet (keine Syntaxfehler).

Antwort1

Ich hatte ein ähnliches Problem, ein Systemadministrator fügte die folgende Anweisung zu conf.modules.d/10-php.conf hinzu:

SetHandler application/x-httpd-php

Dadurch werden jedoch alle Erweiterungen für diesen Handler festgelegt, daher ändere ich es für:

AddHandler php5-script .php

Problem gelöst :)

Antwort2

Problem gelöst. conf.d/php.conf enthielt diese Zeilen:

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

Ich habe die erste Zeile geändert in

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

Anschließend gespeichert und Apache neu gestartet. Die JS- und CSS-Dateien erscheinen nun mit dem richtigen MIME-Typ in Firefox/Chrome.

Nebenbei bemerkt habe ich versucht, AddType text/javascript .jsdirekt darunter etwas hinzuzufügen AddType text/html .php, aber die Dateien wurden immer noch wie text/htmlim Inspector angezeigt. Ich musste .css und .js aus AddHandler entfernen, damit der richtige MIME-Typ gesendet werden konnte.

verwandte Informationen