Un usuario preguntó 👇
Hola,
Así que tengo el plugin funcionando ahora y parece que funciona bien. Sin embargo, una cosa que he notado es que cuando las transcripciones están habilitadas y hago una prueba de velocidad con Gtmetrics, todas las imágenes que se están convirtiendo (jpg y png) dan una advertencia / error de «especificar recolector de caché». Cuando elimino las reglas del archivo .htaccess que crea el plugin, estas advertencias / errores desaparecen, así que estoy bastante seguro de que está relacionado con el plugin.
Esta es probablemente una aplicación de funciones más grande que cualquier otra cosa, pero me preguntaba si tiene alguna sugerencia sobre cómo manejar esto antes de comenzar a piratear cosas.
Gracias, Mika
(@roselldk)
Hace 2 años, 3 meses
Hola Mika,
Sí, parece que el rendimiento se puede mejorar si WebP Express agrega un encabezado Last Change a las respuestas de la imagen. Se implementará fácilmente. Lo implementaré en la biblioteca WebP Convert. Creé una pregunta para él aquí: https://github.com/rosell-dk/webp-convert/issues/86
(@roselldk)
Hace 2 años, 3 meses
Hecho.
El encabezado Last Change se implementó en 0.8.0, que se acaba de lanzar
Lanzador de hilos
(@mlepisto)
Hace 2 años, 3 meses
¡Gracias @roselldk!
(@mr_spock)
Hace 2 años
Hola, tengo que ser tonto, ¿dónde está este set?
(@roselldk)
Hace 2 años
Lo fija el convertidor (cuando una imagen se redirige al convertidor).
Cuando una imagen se redirige directamente a una página web existente a través de la regla de reescritura de Apache, Apache también la corregirá automáticamente. Lo mismo ocurre con Nginx
(@mr_spock)
Hace 2 años
Lo siento, pero eso no está sucediendo. Compruébalo en https://www.abiquo.com – Las reglas de htaccess (que no obligué a reescribir el plugin) están a continuación. Intenté cambiar el encabezado caducado, eso funciona bien. ¿Alguna otra idea?
# BEGIN WebP Express
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirect to existing converted image in cache-dir (if browser supports webp)
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{DOCUMENT_ROOT}/wp-content/webp-express/webp-images/doc-root/wp-content/$1.$2.webp -f
RewriteRule ^/?(.+).(jpe?g|png)$ /wp-content/webp-express/webp-images/doc-root/wp-content/$1.$2.webp [NC,T=image/webp,E=EXISTING:1,L]
# Set Cache-Control header so these direct redirections also get the header set
# (and also webp-realizer.php)
<IfModule mod_headers.c>
<FilesMatch ".webp$">
Header set Cache-Control "public, max-age=31536000"
</FilesMatch>
</IfModule>
# Fall back to mod_expires if mod_headers is unavailable
<IfModule !mod_headers.c>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/webp "access plus 1 years"
</IfModule>
</IfModule>
# WebP Realizer: Redirect non-existing webp images to webp-realizer.php, which will locate corresponding jpg/png, convert it, and deliver the webp (if possible)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?(.+).(webp)$ /wp-content/plugins/webp-express/wod/webp-realizer.php?xdestination-rel=xwp-content/$1.$2&wp-content=wp-content [NC,L]
# Redirect images to webp-on-demand.php (if browser supports webp)
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^/?(.+).(jpe?g|png)$ /wp-content/plugins/webp-express/wod/webp-on-demand.php?xsource-rel=xwp-content/$1.$2&wp-content=wp-content&%1 [NC,L]
<IfModule mod_headers.c>
<IfModule mod_setenvif.c>
# Set Vary:Accept header for the image types handled by WebP Express.
# The purpose is to make proxies and CDNs aware that the response varies with the Accept header.
SetEnvIf Request_URI ".(jpe?g|png)" ADDVARY
Header append "Vary" "Accept" env=ADDVARY
# Set X-WebP-Express header for diagnose purposes
# Apache appends "REDIRECT_" in front of the environment variables defined in mod_rewrite, but LiteSpeed does not.
# So, the next line is for Apache, in order to set environment variables without "REDIRECT_"
SetEnvIf REDIRECT_EXISTING 1 EXISTING=1
Header set "X-WebP-Express" "Redirected directly to existing webp" env=EXISTING
</IfModule>
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType image/webp .webp
</IfModule>
(@roselldk)
Hace 2 años
Solo raro. ¿Está en la versión 0.12?
Puedo ver ese querer https://www.abiquo.com/wp-content/uploads/2018/02/abiquo_logo_224x94-2.jpg me da los siguientes encabezados (entre otras cosas):
control de caché: público, edad máxima = 31536000 tipo de contenido: imagen / webp fecha: viernes, 08 de marzo de 2019 12:47:58 GMT expira: sábado, 07 de marzo de 2020 12:47:58 pragma GMT: servidor público: Apache /2.4 .37 (Amazon) x-webp-express: Redirigido directamente al sitio web existente
El encabezado x-webp-express me dice que fue un redireccionamiento interno. Y tiene razón, no hay un encabezado de Último cambio.
Creo que no se aplica a su caso, porque el encabezado Última modificación es, por lo que sé, solo es útil cuando faltan otros encabezados, como el control de caché o la caducidad.
Pero tengo curiosidad. ¿El servidor envía el encabezado Last Change cuando desinstala Cache-Control? (esto puede significar que al servidor no le importa configurar el encabezado Último cambio porque es redundante)
(@mr_spock)
Hace 2 años
Solo me importa si algunas de las herramientas de prueba de velocidad lo consideran importante, así que me preocupa la fase de búsqueda.
Intentaré el control de caché más tarde …
(@roselldk)
Hace 2 años
Aquí hay alguien sugiriendo (y mostrando cómo) Last-Modified OFF para apagar las imágenes:
https://www.askapache.com/htaccess/apache-speed-last-modified/
Se discute aquí:
https://webmasters.stackexchange.com/questions/27694/last-modified-etags-to-include-or-not
Y aquí hay más sobre el tema:
https://serverfault.com/questions/292070/how-to-setup-apache-2-2-3-to-send-last-modified-etc
(@mr_spock)
Hace 1 año, 8 meses
Finalmente probé la eliminación de la configuración de control de caché y aún no se ha realizado ninguna modificación final.
(@roselldk)
Hace 1 año, 7 meses
@mr_spock: Está bien. No es así como se comporta en los servidores Apache a los que tengo acceso (obtengo el encabezado Última modificación). Veo en el encabezado de respuesta «servidor» que estás en Amazon (es «Apache / 2.4.37 (Amazon)»). Quizás sea que se decidieron por una política por alguna razón.
Pero espera, solo eché un vistazo más de cerca a las reglas de .htaccess que publicaste. He aquí un extracto:
# Set Cache-Control header so these direct redirections also get the header set
# (and also webp-realizer.php)
<IfModule mod_headers.c>
<FilesMatch ".webp$">
Header set Cache-Control "public, max-age=31536000"
</FilesMatch>
</IfModule>
# Fall back to mod_expires if mod_headers is unavailable
<IfModule !mod_headers.c>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/webp "access plus 1 years"
</IfModule>
</IfModule>
Eliminar el primer testamento no es suficiente porque el segundo bloque solo afectará a los sistemas para los que mod_headers no están disponibles. Esto debería reemplazar lo anterior:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/webp "access plus 1 years"
</IfModule>
O más bien: debe poner esto fuera de la sección de WebP Express en las preguntas frecuentes, para que no se infrinja más adelante.
¿Eso funciona?
¿Solucionó tu problema??
0 / 0