Zur Navigation

PNG laden wenn ein Browser webp nicht unterstützt

1 Richard24

Hallo,

ich habe in meinen Blog alle Bilder auf webp umgestellt.

Scheinbar sind doch noch ältere Browser unterwegs die webp nicht lesen können.

Statt jetzt für jeden Beitrag eine <picture> Weiche zu hinterlegen wäre eine Lösung über die .htacces sinnvoll.

Leider habe ich aber wenig Ahnung von der Programmierung.

Aufgabe:

Falls der Browser keine webp Dateien lesen kann soll er die png Datei nehmen.

Im gleichen Verzeichnis leigen sowhohl die webp als auch die png Dateien.

Viele Grüße - Richard

15.06.2023 15:18

2 Jörg Kruse

Man kann in der .htaccess Datei mit mod_rewrite überprüfen, ob der vom Browser gesendete Header HTTP_ACCEPT den Mime-Typ image/webp enthält. Wenn nicht (dafür steht das "!"), wird server-intern auf den gleichnamigen Dateinamen mit der Endung webp umgeleitet. In einer .htaccess Datei, die sich im selben Ordner wie die Bilddateien befindet, könnte der Rewrite so ausschauen:

RewriteEngine on

RewriteCond %{HTTP_ACCEPT} !image/webp
RewriteRule ^(.+)\.webp$ $1.png

Dies ist von mir noch ungetestet. Ich bin mir grad nicht sicher, ob der Server in diesem Fall auch den Mime-Typ image/png deklariert, so dass der Browser die Datei, die ja immer noch die Endung .webp hat, korrekt als PNG-Datei öffnet. Das müsstest du ausprobieren.

15.06.2023 15:51 | geändert: 15.06.2023 15:53

3 Richard24

Hallo Jörg,

vielen Dank für ihre Nachricht.

in dem Verzeichnis habs noch keine .htaccess

Also habe ich eine erstellt mit folgenden Inhalt:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} !image/webp
RewriteRule ^(.+)\.webp$ $1.png
</IfModule>



Leider kann ich aber nicht testen, da ich kein Gerät mit nem alten Browser habe ...

https://www.schilderhimmel.de/blog/

Danke und viele Grüße - Richard

15.06.2023 17:44

4 Jörg Kruse

So viele gibt es da auch nicht mehr, die Browser-Unterstützung ist inzwischen weit gediehen:

https://caniuse.com/webp

Ich habe in Virtualbox noch ein altes Test-Image mit dem IE 11. Im Blog zeigt der IE die Bilder leider nicht an, scheint so nicht zu funktionieren.

Das liegt vermutlich daran, dass die Namen der PNG-Dateien sich nicht nur in der Endung unterscheiden. Diese Datei gibt es z.B. nicht:

https://www.schilderhimmel.de/blog/bilder/tuere-offen-lassen-katzen-schild-schilder-selbst-gestalten-570876.png

... sollte es aber, damit der Rewrite funktioniert

15.06.2023 18:23 | geändert: 15.06.2023 18:35

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]