'text/css; charset=UTF-8', 'js' => 'text/javascript; charset=UTF-8', 'woff2' => 'font/woff2', 'svg' => 'image/svg+xml; charset=UTF-8', 'jpg', 'jpeg' => 'image/jpeg', default => 'image/'.$treffer[1], }); header('Cache-Control: public, max-age=31536000, immutable'); // Und ebenso die Komprimierung, die mod_deflate auf einem Webserver uebernimmt: ohne sie // misst man hier eine Stylesheetgroesse, die es im Betrieb nie gibt. $inhalt = (string) file_get_contents($file); if (in_array($treffer[1], ['css', 'js', 'svg'], true) && str_contains($_SERVER['HTTP_ACCEPT_ENCODING'] ?? '', 'gzip')) { $inhalt = (string) gzencode($inhalt, 6); header('Content-Encoding: gzip'); header('Vary: Accept-Encoding'); } header('Content-Length: '.strlen($inhalt)); echo $inhalt; exit; } return false; // Let the built-in server deliver the static file. } // Auch die Seiten selbst gehen komprimiert raus, wie auf einem Webserver mit mod_deflate. ini_set('zlib.output_compression', '1'); ini_set('zlib.output_compression_level', '6'); require __DIR__.'/../public/index.php';