Zur Navigation

htaccess für webp images

1 WhiteWay

Hallo,

ich habe alle meine .png und .jpg Bilder auch als .webp Variante auf den Apache Server hochgeladen. Sie befinden sich in den unterschiedlichsten Verzeichnissen.

Jetzt möchte ich, falls der Browser des Besuchers webp Images unterstützt, ihm auch die .webp images anstelle der .jpg oder .png ausliefern.

Versucht habe ich es mit folgendem Eintrag in der .htaccess:
RewriteEngine On 
RewriteBase /

<IfModule mod_rewrite.c>

  # Check if browser supports WebP images
  RewriteCond %{HTTP_ACCEPT} image/webp

  # Check if WebP replacement image exists
  RewriteCond %{DOCUMENT_ROOT}/$1.webp -f

  # Serve WebP image instead
    RewriteRule (?i)(.*)(\.jpg|\.png)$ $1\.webp [L,T=image/webp,R] 
</IfModule>

Leider werden aber auch im Chrome Browser nach wie vor die .jpg oder .png Dateien ausgeliefert.

Alternativ habe ich anstelle von
$1
auch mit
%1
versucht, aber auch ohne Erfolg.

Wo liegt der Fehler? Ich komme alleine nicht weiter und bin für Hilfe sehr dankbar,
Gruss

31.08.2019 14:25

2 Jörg

Probier's mal mit dieser Variante:

RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} (.*)\.(jpg|png)$
RewriteCond %1\.webp -f
RewriteRule ^(.*)\.(jpg|png)$ $1.webp [L,T=image/webp,R]

31.08.2019 15:14

3 WhiteWay

Danke, das haut hin.
Schönes Wochenende!

31.08.2019 18:49

... 5 Monate später ...

4 Christian2020 (Gast)

Hallo,
ich habe passend zum Beitrag folgendes Problem:
Meine Seite ist https://www.domain1.de, meine Bilder sind als "CDN" auf https://cdn.domain2.de/fotos abgelegt und werden normal als .jpg geladen. Nun möchte ich aber gerne, dass auch aus dem https://cdn.domain2.de/fotos Ordner die .webp mit gleichem Dateinamen geladen werden anstelle der .jpg wenn der Browser webp erkennt.

Ist das möglich und wenn ja wie muss der obige Code angepasst werden?

Besten Dank schon einmal für Hilfe und viele Grüße von Christian

02.02.2020 17:15

5 Jörg

Das sollte möglich sein, wenn der Code in die .htaccess Datei im Ordner fotos auf der CDN-Subdomain eingebaut (und ausgeführt) werden kann. Eine Anpassung des Codes (in Beitrag 3) sollte hier eigentlich nicht notwendig sein.

02.02.2020 18:14 | geändert: 02.02.2020 18:17

6 Christian2020 (Gast)

Hallo Jörg,
danke für die schnelle Antwort!

Leider funktioniert es nicht. Es wird immer das .jpg angezeigt - sowohl bei Chrome als auch bei Edge. Rufe ich im Browser die .webp-Datei direkt auf, wird sie normal angezeigt.

Kurze Frage dazu: Ich habe in der Internetseite (https://www.domain1.de/test.html) z.B. folgendes Bild "hardgecoded" https://cdn.domain2.de/fotos/test.jpg

Ist das als solches korrekt und es würde automatisch in test.webp vom Server umgewandelt werden, wenn der Browser webp erkennt und das Bild als test.jpg und als test.webp im gleichen Ordner vorhanden ist?

htaccess funktioniert allgemein, habe ich bereits getestet, .webp wird auch nicht ausgeschlossen.

Danke für die Hilfe!

Viele Grüße Christian

02.02.2020 23:23

7 Jörg

Leider funktioniert es nicht. Es wird immer das .jpg angezeigt - sowohl bei Chrome als auch bei Edge. Rufe ich im Browser die .webp-Datei direkt auf, wird sie normal angezeigt.

Leer mal in beiden Browsern den Cache. Oft werden Bilder bei erneuten Aufrufen nicht nochmal vom Webserver, sondern aus dem Cache geladen, falls dort vorhanden.

Kurze Frage dazu: Ich habe in der Internetseite (https://www.domain1.de/test.html) z.B. folgendes Bild "hardgecoded" https://cdn.domain2.de/fotos/test.jpg

Ist das als solches korrekt und es würde automatisch in test.webp vom Server umgewandelt werden, wenn der Browser webp erkennt und das Bild als test.jpg und als test.webp im gleichen Ordner vorhanden ist?

Der Webserver liefert die test.webp als test.jpg aus, wenn der Browser über den HTTP_ACCEPT Header signalisiert, dass er was mit diesem Format anfangen kann. Die Dateiendung ändert sich hierbei nicht, nur der Inhalt.

03.02.2020 10:31 | geändert: 03.02.2020 10:33

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]