Hans: W3C-Validierung bei GZip-komprimierten CSS-Dateien

Ich habe mittels PHP eine HTML Komprimierung realisiert, wie hier beschrieben:

http://phpperformance.de/mod_gzip-mod_deflate-und-sonstige-komprimierungsverfahren-fuer-web-inhalte/

Das heißt:

AddType application/x-httpd-php .css  

in der .htaccess Datei.

ob\_start("ob\_gzhandler");  

in der jeweiligen PHP-Datei.

Soweit keine Probleme.

In der CSS-Datei steht dies:

<?php

// korrekten Content-Type setzen
   header ("content-type: text/css; charset: UTF-8");

// Datenpufferung aktivieren, am Ende gesamten Inhalt an ob_gzhandler übergeben
   ob_start ("ob_gzhandler");

// Client-Cache anweisen sicht strikt an diese Anweisungen zu halten
   header ("cache-control: must-revalidate");

// wie lange soll der Content gecached werden
   $offset = 60 * 60;

// Ablauf-Datum setzen
   $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";

// Header senden
   header ($expire);
?>

Die Komprimierung funktioniert.

Der CSS-Validator vom W3C gibt allerdings folgende Fehlermeldung aus:

Unbekannter Fehler org.w3c.www.http.HttpInvalidValueException: Invalid content type.

Was ist falsch?

  1. Hi,

    Der CSS-Validator vom W3C gibt allerdings folgende Fehlermeldung aus:

    Unbekannter Fehler org.w3c.www.http.HttpInvalidValueException: Invalid content type.

    Was ist falsch?

    Das hier:

    // korrekten Content-Type setzen
       header ("content-type: text/css; charset: UTF-8");

    Zwischen Charset und er Angabe desselben gehört ein Gleichheitszeichen, kein Doppelpunkt.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Besten Dank!

  2. Ich habe mittels PHP eine HTML Komprimierung realisiert, wie hier beschrieben:

    http://phpperformance.de/mod_gzip-mod_deflate-und-sonstige-komprimierungsverfahren-fuer-web-inhalte/

    Vielleicht möchtest du statt der albernen PHP-Krücke (albern, weil man nur wegen der Komprimierung sämtliche Dateien in PHP-Skripte umwandeln muss) lieber die im Webserver bereits eingebaute Funktion nutzen: Sofern du Apache 2 nutzt (dürfte Standard sein) und in diesem mod_deflate aktiv ist (ist Standard), setze in die oberste .htaccess die Zeile

    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/rss+xml

    … und gut ist. Der Webserver komprimiert automatisch sämtliche Daten der genannten Typen, egal aus welcher Quelle (also nicht nur statische Dateien, sondern auch die Ausgabe von Skripten etc., einschließlich PHP), ohne, dass du noch irgendwas dazu tun müsstest.