ETag y header 304

Buenos días a todos,

Estoy intentando usar el ETag para controlar la versión de la página que tiene el visitante. Si coincide la versión de la web entonces le obligo a no descargarse nada con un 304 Not Modified. Mi código (en PHP) es el siguiente

$etag = md5 ($_SERVER['REQUEST_URI'] . LAST_MODIFICATION_TIME.$page);
if (ereg($etag, $_SERVER['HTTP_IF_NONE_MATCH'])) {
       header('HTTP/1.1 304 Not Modified');
} else { 
        header("ETag: \"{$etag}\""
);

LAST_MODIFICATION_TIME
es la última vez que se modifico el código
$page
variable para mostrar una página u otra. Uso plantilla y los valores los modifico según página que muestre (inicio, contacto, privacidad...) ¿Es necesario? ¿O lo puedo eliminar?

Por lo que veo la condición ereg($etag, $_SERVER['HTTP_IF_NONE_MATCH']) siempre me la da falsa, y en teoría si vuelvo a entrar a la misma página tendría que ser igual.
¿Alguna solución?

Gracias
Bueno, no termino de comprender tu codigo y si sea de gran utilidad, pero para empezar la funcion ereg() fue declarada obsoleta apartir de php 5.3 por lo tanto no es aconsejable usarla si tu version de php es igual o mayor a esa.