Änderungsdatum bei SSI-Dateien per header() übertragen
Hans-Otto
- php
hi,
auf meinen Homepages läuft alles über SSI-Dateien.
Einziges Problem: Das Datum der letzten Änderung einer Datei kann nicht vom Browser oder Suchmaschinen ausgewertet werden, da die SSI-Dateien ja als dynamisch gelten.
Unter <head> befindet sich zwar überall die Angabe in der Art
<meta http-equiv="Last-Modified" content="<!--#config timefmt="%a, %d %b %Y %H:%M:%S GMT" --><!--#echo var="LAST_MODIFIED" -->">
wodurch beispielsweise "Tue, 26 Jul 2005 13:00:06 GMT" ausgegeben wird, aber das Ganze wird weder von Mozilla (Ansicht, Seiteninformationen, Modifiziert) noch von anderen Tools (etwa Google-Sitemap-Generatoren) korrekt ausgewertet.
Per PHP kann man ja beispielsweise über
header("Last-Modified: Tue, 26 Jul 2005 12:01:02 GMT");
bequem den Header setzen. Naheliegend wäre also, die PHP-Headerfunktion in SSI aufzurufen, also etwa in der Datei test.shtml:
<!--#include virtual="header.php?datei=$DOCUMENT_ROOT$DOCUMENT_URI" -->
wobei header.php etwa folgenden Inhalt hat:
$datei = $_GET["datei"];
header("Last-Modified: " . date("D, d M Y H:i:s", filemtime($datei)) . " GMT");
header.php wird zwar korrekt ausgeführt (und das Datum stimmt auch, wie man mit einem nachfolgenden echo prüfen kann), aber als Änderungsdatum wird letztendlich immer das aktuelle Datum angezeigt...
Hat jemand irgendwelche Ideen, um bei SSI-Dateien das korrekte Änderungsdatum per header() oder sonst irgendwie zu setzen? (Apache 2.0x, php 4.3x).
Danke schon mal für alle Vorschläge im voraus.
ciao
h-o