Ho modificato un pò il loader, adesso la cache verrà gestita grazie alla data di ultima modifica del file css o js. Se non c'è, il file verrà considerato fresco di modifica.
Codice PHP:
<?php
ob_start 
("ob_gzhandler");

// Gestione cache
// Ricaviamo il nome del file
$file $_SERVER["SCRIPT_NAME"];
$break explode('/'$file);
$bfile $break[count($break) - 1];
// Se è presente la data di ultima modifica
if(filemtime($bfile)){
// Mandiamo un Expires più lontano possibile
header("Expires: ".gmdate("D, d M Y H:i:s",time() + 315360000)." GMT");
// Ricaviamo il last-modified
$last_mod gmdate('D, d M Y H:i:s',filemtime($bfile)).' GMT';
// Mandiamo gli header last-modified e if-modified-since usando la data di ultima modifica del file
header('Last-Modified: '.$last_mod);
header('If-Modified-Since: '.$last_mod);
header('Cache-Control: must-revalidate');
} else {
// Altrimenti, utilizziamo la data attuale
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('If-Modified-Since: '.gmdate('D, d M Y H:i:s').' GMT');
}

if(
$_GET['type'] == 'js'){
    
header("Content-type: text/javascript; charset=utf-8");
    include(
$_GET['n'].'.js');
    exit();
}elseif(
$_GET['type'] == 'css'){
    
header("Content-type: text/css; charset=utf-8");
    include(
$_GET['n'].'.css');
    exit();
}else {
    echo 
$_GET['type'].'? Che stai tentando di fare, di preciso? :°)';
    exit();
}
?>
poi aggiungete questo nel .htaccess per disabilitare gli ETag dei file CSS e JS (altrimenti è tutto inutile):
Codice PHP:
<FilesMatch "\.(css|js)$">
FileETag none
</FilesMatch
nella prossima versione implementerò il caching server-side dei file compressi tramite jsmin e cssmin.
Nel frattempo, se proprio necessitate del caching server-side, potete utilizzare http://farhadi.ir/works/smartoptimizer, che però è un macigno e non so se vale la pena.