Estoy usando .htaccess para servir imágenes webp a los navegadores que lo admiten.
RewriteEngine On RewriteCond %{HTTP_ACCEPT} image/webp RewriteCond %{DOCUMENT_ROOT}/$1.webp -f RewriteRule (.+)\.(jpe?g|png|gif)$ $1.webp [T=image/webp,E=REQUEST_image] Header append Vary Accept env=REQUEST_image AddType image/webp .webpFuente: imágenes WebP con htaccess
Básicamente, lo que hace es devolver una imagen .webp en lugar del jpg/png/gif solicitado, desde la misma ubicación, si existe y es compatible.
Esto funciona bien en Chrome, Firefox, IE11, Edge... No he probado Safari.
Sin embargo, mi problema es que cuando hago clic derecho en el sitio web, "guardar como", selecciona automáticamente una versión .jpg. Si no existe una versión .jpg, intenta guardar todo el html. El comportamiento previsto sería que guarde la versión .webp mostrada, si se usa. Por extraño que parezca, intenta guardar el .webp en Firefox cuando hace lo mismo, pero cuando intento lo mismo usando la información de la página en Firefox (ctrl+i en Windows), selecciona el .jpg.
Como es esto posible? ¿Hay algo que falta/está mal con esto?
Verifiqué que la imagen mostrada es un webp real, y lo es. Tanto el tipo de contenido como el tamaño del archivo coinciden con los de webp.
mi solución de trabajo es:
RewriteCond %{HTTP_ACCEPT} image/webp RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} -f RewriteRule (.+)\.(jpe?g|png|gif)$ $1.webp [T=image/webp,E=REQUEST_image] así que intente cambiar RewriteCond %{DOCUMENT_ROOT}/$1.webp -f a
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} -fProbado en Safari y Firefox.