guppy hat geschrieben:Es funktiniert intern.
Was heißt denn intern?
Diese Dateien sind in diesem .png Format hinterlegt, dieses Format verwende ich selber nicht .
Da entgeht Dir aber was :)
Nun wollte ich, dass immer wenn von außen eine dieser png Dateien aufgerufen wird, eine jpg erscheint auf der der Hinweis vermerkt ist, dass die Datei nicht mehr auf der ursprünglichen domain liegt.
Aber ich habe die dumme Ahnung, dass ich da jedes einzelne Bildchen ersetzen muß :-? .
Nein, Deiner bisherigen Beschreibung nach müsste es eigentlich so funktionieren, wie Du Dir vorstellst.
Ich würde allerdings an Deiner Stelle einen ordentlichen Fehlercode liefern. Wenn Du mit "ErrorDocument 410 /410.php" (als Beispiel) ein Skript als Fehlerseite definierst, kannst Du in diesem Skript über die Umgebungsvariable REDIRECT_URL abfragen, welche URL gewünscht wurde und, falls es eine der alten Grafiken war, Deine Platzhaltergrafik ausgeben. In PHP könnte das in etwa so aussehen (nicht ausprobiert):
Code: Alles auswählen
if (substr($_SERVER["REDIRECT_URL"], -4) == ".png") {
header("Content-Type: image/jpeg");
readfile("test/test.jpg");
exit;
}
[Hier die Standardfehlermeldung als HTML-Dokument.]
Statt substr() müsste ein komplexerer Vergleich mit preg_match() her, falls noch andere .png-URLs auftreten könnten und/oder die URLs nicht schon vorher aussortiert werden (mit Redirect gone, siehe unten).
Benutzt Du den Fehlercode 410 ("entfernt") statt des normalen 404 ("nicht gefunden"), müsstest Du die betroffenen URLs noch mittels 'RedirectMatch gone' bzw. 'Redirect gone' explizit mit 410 versorgen.
Lange Beschreibung, aber in der Umsetzung in fünf Minuten zu erledigen, wie ja auch schon an dem nur vierzeiligen PHP-Skript zu erahnen ist. Vor allem ist es aber die sauberere Lösung gegenüber einer Weiterleitung.