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