>Number: 623 >Category: mod_include >Synopsis: A smarter "Last Modified" value for SSI documents (see PR >number 600) >Confidential: no >Severity: non-critical >Priority: medium >Responsible: apache (Apache HTTP Project) >State: open >Class: change-request >Submitter-Id: apache >Arrival-Date: Mon May 26 07:50:00 1997 >Originator: [EMAIL PROTECTED] >Organization: apache >Release: 1.2b10 >Environment: ULTRIX 4.4 0 RISC >Description: (also see PR number 600 for a related change request)
When using SSI mainly for including static headers, footers and the like the Last-Modified:-Header should be set to the newest date of the main document and all included documents. Currently the only options are the default behaviour (no LM-Header generated) or using the XBitHack - neither is very nice IMHO. Some time ago I patched the SSI module of the NCSA httpd to deliver the newest date of the main document and all included documents as the Last-Modified date. When using other directives besides 'include' as 'exec' and the like the default behaviour of sending no LM-Header is used. This is achieved by an additional parse run prior to the normal one. This first pass only examines the main document for SSI directives and does not produce any output. The result of this pass is the newest modification date as described above. Now the http-Headers can be created and the second parse pass is started which produces output. The code consists of a bunch of #ifdef style changes to the SSI module and has run just fine for over a year here. I recently applied the same changes to mod_include.c of Apache 1.2b10 and it seems to work fine so far. Maybe this code is of some interest to you? You can get it via http://www.si.unix-ag.org/~thilo/mod_include_patched.c All changed are nested into #ifdef SSILMHACK #endif statements. Of course there is some performance penalty in comparison to single-pass SSI and it has some other problems (doesn't walk thorugh nested includes for example). But the changes are IMHO very neat to have when using SSIs for Header/Footer inclusion. >How-To-Repeat: our server running with the patched SSI module is reachable as http://www.unix-ag.org The headers/footers are included via SSI >Fix: http://www.si.unix-ag.org/~thilo/mod_include_patched.c %0 >Audit-Trail: >Unformatted:
