Folgendes Problem:
Ich habe auf einem Variomedia-Server ein CMS (redaxo 4.1) laufen unter:
http://www.autopetersen.de/index.php
Das Problem ist: wenn man die Seite aktualisiert, werden die Bilder, die über das Image Resize-Addon verkleinert werden, nicht mehr angezeigt.
Hier der link direkt zum Bild:
http://www.autopetersen.de/index.php?re ... 7310_1.jpg
Nach Aktualisierung erscheint die Fehlermeldung.
Dieses Problem habe ich NUR bei Variomedia, ich habe das Netz 1:1 auf meinen 1&1-Server ausprobiert, läuft einwandfrei.
Server-Info:
http://www.autopetersen.de/info.php
Variomedia schreibt mir dazu folgendes:
Damit kann ich leider nicht viel anfangen, kann irgendjemand?wir haben dieses Problem intensiv beleuchtet und können es mit diversen Browsern nachvollziehen. Allerdings sind wir uns mittlerweile ziemlich sicher, dass es primär doch ein Script- und kein Serverproblem ist. Wir haben die Sitzungen debugged und können, wenn wir den Aufruf der URL durch einen Browser durch entsprechende HTTP-Client Klassen simulieren, beliebig oft das verkleinerte Bild ohne Fehlermeldung herunterladen. Ein prinzipielles Problem auf unseren Servern ist damit ausgeschlossen.
Wenn Browser Inhalte aufrufen kommt jedoch das Cacheverhalten ins Spiel. Ein Browser versucht immer herauszufinden, ob es sich lohnt eine Datei erneut herunterzuladen, oder ob er die gecachte Datei anzeigt. Es läßt sich schwer debuggen welche Header das Problem verursachen. Tatsache scheint jedoch zu sein, dass Ihr Script erst dann einen Fehler verursacht, wenn der Browser schon eine Variante gecacht hat und entsprechende Header überträgt, um herauszufinden, ob eine neuere Version vorliegt. Der erste Aufruf in einem Browser war bei uns immer erfolgreich. Große Provider wie 1&1 oder Strato "verfälschen" die Antworten von Ihrer Webseite, in dem sie Caching-Proxies zwischenschalten. Fragt ein Browser also an, ob eine neuere Version eines Bilders unter einer URL vorliegt, dann landet diese Anfrage beim Caching-Proxy und dieser liefert dann ohne Fehler eine ältere Version aus, ohne dass die Webseite selber noch ein neues Bild ausliefert. Das spart auf Dauer natürlich Bandbreite. Wir vermuten, dass dadurch der Fehler bei 1&1 oder Strato nicht auftritt, bei uns jedoch schon.
Sie können sich dazu nur mit den Anwendungsentwicklern in Verbindung setzen. Möglicherweise können die das Problem beheben, indem sie bestimmte Expires- oder Cache-Control-Header setzen.
Eine andere Lösung besteht darin, dass Problem, was den Fehler produziert zu beheben: Wenn Sie die Meldung "Beim Ausführen des Skriptes ist ein Fehler aufgetreten." erhalten hat das Script schlichtweg keinen Header inkl. Content-Type gesendet. Es sendet einfach direkt das Bild ohne Header, was aber einen HTTP-Fehler darstellt. Es wäre auch denkbar, dass die Caching-Proxies bei 1&1 solche Fehler automatisch beheben und einen Header vor dem Auslieferung hinzufügen, so dass Sie den Fehler dort nicht bemerken.
Meine Idee war, im Modul abzufragen, ob bereits eine cache-Version des Bildes besteht und diese dann zu laden, wenn ja. Funktioniert auch, allerdings muss dazu die htaccess im Order redaxo/include entfernt werden. Kann ich das gefahrlos oder kann ich die htaccess irgendwie ändern, damit ich auf die generated files zugreifen kann?
Bin für jede Hilfe dankbar !