2009-03-11 5 views
4

Ich habe eine Standard-Apache2-Installation auf Ubuntu.Apache2 sendet nicht "Content-Type" in Header

ich versuchte, zur Arbeit kommen zu mod_deflate, was es tut, aber es bemerkt meine Js Dateien nicht wurde Gzipping. Eine nähere Untersuchung ergab, dass Apache nicht sendet Content-Type: für etwas anderes als. PHP-Dateien. Für sie sendet es "text/html", was seltsam ist, da DefaultType "text/plain" ist.

Ich habe keine Ahnung, warum dies ... mod_mime aktiviert ist, und ich habe nicht die configs für sie berührt.

Hier ist ein Beispiel Antwort von meinem Server für eine CSS-Datei:

Date Wed, 11 Mar 2009 04:48:12 GMT 
Server Apache/2.2.9 (Ubuntu) 
Connection Keep-Alive 
Keep-Alive timeout=15, max=96 
Etag "30478-4fb-464bec553a600" 
Vary Accept-Encoding 

Antwort

0

Es ist ein bekanntes Problem. Welche Ubuntu-Version ist das?

Ich habe gerade versucht, auf Ubuntu 8.10 und Debian 5 Installationen, in denen ich die Apache-Konfiguration berührt haben. Beide funktionieren gut:

HTTP/1.x 200 OK 
Date: Wed, 11 Mar 2009 10:25:17 GMT 
Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4 with Suhosin-Patch mod_wsgi/2.3 Python/2.5.2 
Last-Modified: Wed, 11 Mar 2009 10:19:41 GMT 
Etag: "1544ae-12-464d534a6c940" 
Accept-Ranges: bytes 
Content-Length: 18 
Keep-Alive: timeout=15, max=100 
Connection: Keep-Alive 
Content-Type: text/css 
+0

cat/etc/lsb-release gibt mir Version 8.10 –

2

Dies geschieht manchmal, wenn Content-Type-Standardwert in httpd.conf kommentiert ist.

In Ubuntu 8.04 wird eingestellt/html, um Text wie ich mich erinnere.

+0

In httpd.conf finde ich: DefaultType html/plain ... was ist seltsam, wie bekommt es "text/html" für meine .php-Dateien, aber nicht "text/javascript" für .js-Dateien oder "text/css" für meine .css-Dateien? –

+1

Ich würde imaging PHP ist das injizieren. –

+0

Dieser kleine Fehler nach dem Upgrade von Debian Squeeze auf Debian Wheezy. 'DefaultType' wurde (standardmäßig) auf' text/html' in Squeeze und 'none' in Wheezy gesetzt. Nachdem ich die gesendeten Header von Apache gesehen hatte, wurde mir klar, dass Content-Type nicht von Wheezy gesendet wurde. Dies verursachte ein seltsames Problem in einigen Browsern (z. B. IE), wo Datendateien versucht wurden, inline gerendert zu werden. Das Zurücksetzen von 'DefaultType' zurück zu' text/html', wie es in Squeeze der Fall war, behebt dieses Problem, was dazu führte, dass IE die Datei zum Download anbietet. –

4

Es sieht aus wie dies ein Ergebnis des Elements wurde mit ETags zwischengespeichert, und meint, dass die Tatsache, mit Blick auf.

Was war geschehen war, dass diese diese Elemente im Browser-Cache waren, und wurden nicht tatsächlich vom Server gesendet werden, so gab es keinen Content-Type. Der Browser erhielt jedoch Header von dem Server, während er die Cache-Suche auf dem eTag durchführte. Das war, was ich sah.