Vaciado de los recursos asignados por direcciones URL de Dispatcher

Pregunta

CQ5 proporciona funcionalidad de asignación de URL a través de Apache Sling. Uno de los requisitos más importantes es poder permitir las URL optimizadas para SEO.
Junto con el almacenamiento en caché de Dispatcher, existe un desajuste entre los recursos html previamente almacenados en caché y la solicitud de vaciado de Dispatcher. Además, si statfileslevel está configurado con un valor > 0, la ubicación de los archivos .stat utilizados para determinar la validez de la caché no coincide con los archivos cacheados.

Por ejemplo:

  • solicitud http://www.mydomain.com/geometrixx/en/company.html
  • En caché por Dispatcher en <docroot>/geometrixx/en/company.html
  • /content/geometrixx/en/company se replica desde la instancia de creación.
  • El agente de vaciado de Dispatcher solicita que /content/geometrixx/es/company se vacíe de la caché de Dispatcher.
  • El módulo de Dispatcher intenta vaciar recursos en <docroot>/content/geometrixx/en/company.* y no encuentra nada -> caché no vaciada

Respuesta y resolución

El problema real es que la solicitud de vaciado de Dispatcher envía la ruta absoluta de un recurso a ser vaciado de la caché de Dispatcher como resultado de una replicación. Para resolver este error de coincidencia, se recomienda reescribir las URL asignadas a su forma de ruta absoluta original a nivel de servidor web, lo que hace que el módulo Dispatcher lea, escriba y vacíe las entradas de caché de forma consistente a nivel de sistema de archivos. Esto también se aplica a la lectura y escritura de archivos .stat

Si se utiliza el servidor HTTP Apache como servidor web, mod_rewrite proporciona toda la funcionalidad necesaria para lograr la reescritura.

A continuación, se muestra un ejemplo de cómo configurar la reescritura con el módulo mod_rewrite de Apache. El ejemplo se basa en:

  • asignar las solicitudes entrantes al dominio www.geometrixx.de a /content/geometrixx/de
<VirtualHost *:80> ServerName www.geometrixx.de RewriteEngine On RewriteRule ^/(.*\.html)$ /content/geometrixx/de/$1 [PT] <Directory /> <IfModule disp_apache2.c> SetHandler dispatcher-handler </IfModule> Options FollowSymLinks AllowOverride None </Directory> </VirtualHost> 

Aplica

CQ5.2.x, CQ5.3

 Adobe

Obtén ayuda de forma más rápida y sencilla

¿Nuevo usuario?