Wenn Browser webp nicht akzeptiert, jpg oder png ausliefern

  • Hallo zusammen,

    ich würde gern webp auf einer Website nutzen. Für Browser, die das nicht anzeigen, soll ein jpg oder png angezeigt werden.

    Es liegen je zwei Dateien mit identischem Namen vor: also bild.webp plus entweder bild.jpg oder bild.png

    Meine Basis sind die folgenden Anweisungen, die dafür sorgen, dass beim Aufruf von jpg oder png ein webp ausgeliefert wird:
    <ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_ACCEPT} image/webp
    RewriteCond %{REQUEST_URI} (?i)(.*)(\.jpe?g|\.png)$
    RewriteCond %{DOCUMENT_ROOT}%1.webp -f
    RewriteRule (?i)(.*)(\.jpe?g|\.png)$ %1\.webp [L,T=image/webp,R]
    </IfModule>

    Ich hätte das gern genau anders herum: Also wenn der Browser kein webp akzeptiert, dann das jpg oder das png mit selbem Namen ausgeben, je nachdem, was vorliegt.

    Leider komme ich damit nicht weiter.

    Kann jemand helfen? Danke.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • per html

    Code
    <picture> <source srcset=“bild.webp” type=“image/webp”> <source srcset=“bild.jpg” type=“image/jpeg”> <img src=“bild.jpg”> </picture>

    evtl. per htaccess

    Apache Configuration
    <ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_ACCEPT} !image/webp
    RewriteCond %{REQUEST_URI} (?i)(.*)(.webp)RewriteCond
    RewriteRule(?i)(.∗)(webp) %1.%2 [L,T=image/%2,R]
    </IfModule>

    Mit offenen Augen träumen

  • Dein htaccess-Code crasht.

    Bin jetzt hier angekommen, läuft aber nicht:

    <ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_ACCEPT} !image/webp
    RewriteCond %{REQUEST_URI} (?i)(.*)(\.webp)$
    RewriteCond %{DOCUMENT_ROOT}%1.jpg -f
    RewriteRule (?i)(.*)(\.webp)$ %1\.jpg [L,T=image/jpeg,R]
    </IfModule>

  • So funktioniert es:

    [PLAIN]
    <ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_ACCEPT} !image/webp
    RewriteCond %{REQUEST_URI} (?i)(.*)(\.webp)$
    RewriteCond %{DOCUMENT_ROOT}%1.jpg -f
    RewriteRule (?i)(.*)(\.webp)$ %1\.jpg [L,T=image/jpeg]
    RewriteCond %{REQUEST_URI} (?i)(.*)(\.webp)$
    RewriteCond %{DOCUMENT_ROOT}%1.png -f
    RewriteRule (?i)(.*)(\.webp)$ %1\.png [L,T=image/png]
    </IfModule>
    [/PLAIN]

    Lässt sich das auch kompakter darstellen?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!