In this situation, a PerlFixupHandler can be installed for the relevant location. This handler must test whether the content is up to date or not, returning DECLINEDso that the Apache core can serve the content from a file if it is up to date. If the content has expired, the handler should regenerate the content into the file, update the $r->finfostatus and still return DECLINED, which will force Apache to serve the now updated file. Updating $r->finfo can be achieved by calling:
$r->filename($file); # force update of the finfo structure
even if this seems redundant because the filename is the same as $file. This is important because otherwise Apache would use the out-of-date finfo when generating the response header.
Copyright © 2003 O'Reilly & Associates. All rights reserved.