Expiración caché

Expiración caché

by Lao Shan -
Number of replies: 3

Hola a todos!

He abierto este tema para separarlo del otro, aunque todo va relacionado con la optimización de carga de Moodle. Por cierto yo uso 2.0.6 (me ha acojonado el mensaje de advertencia wink)

 

El tema es que no encuentro dónde se varía el tiempo establecido de expiración de imagenes, css, etc... Me suena haberlo visto. Por lo general en cualquier web uso .htacess las siguientes lineas:

ExpiresActive On
ExpiresDefault A0

# expiracion de 1 mes para archivos estaticos
<FilesMatch "\.(gif|jpg|jpeg|png|swf|js|css)$">
ExpiresDefault "access plus 1 months"
</FilesMatch>

Pero no se si puede ser contraproducente porque exista ya algo puesto en Moodle de la caché establecida.

Gracias de antemano.

Average of ratings: -
In reply to Lao Shan

Re: Expiración caché

by Lao Shan -

Es que es curioso esto de Moodle, analizando un poco con GTmetrix, puedes ver el cache-control de cada archivo.

Por ejemplo algunos archivos css tienen max-age=315360000

Los js 315360000, otros 1728000...

Tiene su razón de ser pero los archivos png (los subidos a traves de la plataforma, jpg, png...) tienen 3600 y me gustaría cambiarlo, ¿Como lo cambio?

 

 

In reply to Lao Shan

Re: Expiración caché

by Lao Shan -

Bueno en el archivo file.php he encontrado:

if (!isset($CFG->filelifetime)) {
$lifetime = 86400; // Seconds for files to remain in caches
} else {
$lifetime = $CFG->filelifetime;
}

Pero no se debe referir a las imágenes porque estas tienen 3600 (1 hora).

 

También he encontrado en el archivo simplepie.class.php:

public $cache = true;

/**
* @var int Cache duration (in seconds)
* @see SimplePie::set_cache_duration()
* @access private
*/
public $cache_duration = 3600;

/**
* @var int Auto-discovery cache duration (in seconds)
* @see SimplePie::set_autodiscovery_cache_duration()
* @access private
*/
public $autodiscovery_cache_duration = 604800; // 7 Days.

/**
* @var string Cache location (relative to executing script)
* @see SimplePie::set_cache_location()
* @access private
*/
public $cache_location = './cache';

/**
* @var string Function that creates the cache filename
* @see SimplePie::set_cache_name_function()
* @access private
*/
public $cache_name_function = 'md5';

/**
* @var bool Reorder feed by date descending
* @see SimplePie::enable_order_by_date()
* @access private

 

Me estoy volviendo loco XD leyendo los foros en inglés y buscando dónde demonios se cambia el tiempo de expiración del caché de las imágenes en Moodle... No puede ser tan complicado... ¿Alguien que arroje luz?

Saludos

In reply to Lao Shan

Re: Expiración caché

by Lao Shan -

He puesto en un archivo htacces:

ExpiresActive On
ExpiresDefault A0

# expiracion de 1 mes para archivos estaticos
<FilesMatch "\.(gif|jpg|jpeg|png|swf|js|css)$">
ExpiresDefault "access plus 1 months"
</FilesMatch>

Y ahora los archivos que subo por ftp les pone ese tiempo de expiración, pero las imágenes que subo a través de moodle me sigue poniendo una sólo hora de expiración. 

¿¿Nadie sabe dónde se cambia este parametro?? Me fastidia mucho porque son muchas peticiones al servidor que me podría ahorrar...

Para que me entiendan mejor, quiero cambiar el tiempo de expiración de imagenes del tipo:

www.mimoodle/pluginfile.php/15/user/icon/f1

www.mimoodle/pluginfile.php/2/course/section/2/unafoto.png