Anleitung zum Leeren von URL-Mapped-Ressourcen aus Dispatcher

Frage

CQ5 bietet URL-Mapping-Funktionalität über Apache Sling. Eine der wichtigsten Voraussetzungen ist die Möglichkeit SEO-optimierte URLs zu ermöglichen.
In Verbindung mit Dispatcher-Caching gibt es einen Konflikt zwischen zuvor zwischengespeicherten Html-Ressourcen und der Dispatcher-Flush-Anforderung. Wenn statfileslevel auf einen Wert> 0 konfiguriert ist, stimmt der Speicherort der .stat Dateien, die zur Ermittlung der Cache-Gültigkeit verwendet werden, nicht mit tatsächlich zwischengespeicherten Dateien überein.

Beispiel:

  • Anforderung http://www.mydomain.com/geometrixx/en/company.html
  • zwischengespeichert vom Dispatcher unter <docroot>/geometrixx/en/company.html
  • /content/geometrixx/en/company wird von der Erstellungsinstanz wiederholt
  • Der Dispatcher-Entleerungsagent fordert, dass /content/geometrixx/en/company vom Dispatcher-Zwischenspeicher geleert wird
  • Dispatchermodul versucht, Ressourcen auf <docroot>/content/geometrixx/en/company zu leeren.* und findet nichts -> Zwischenspeicher nicht geleert

Antwort, Auflösung

Das eigentliche Problem liegt darin, dass die Dispatcher-Entleerungsanfrage den absoluten Pfad einer Ressource sendet, um als Ergebnis einer Replikation des Dispatcher-Zwischenspeichers geleert zu werden. Um diese Fehlanpassung zu beheben, empfiehlt es sich, zugeordnete URLs zu Ihrem ursprünglichen absoluten Pfadformular auf Webserver-Ebene neu zu schreiben, wodurch das Dispatcher-Modul Zwischenspeichereinträge einheitlich auf einer Datensystem-Ebene liest, schreibt und leert. Dies gilt auch für das Lesen und Schreiben von .stat-Dateien.

Wenn „Apache HTTP-Server“ als Webserver eingesetzt wird, bietet mod_rewrite alle notwendigen Funktionen, um das Neuschreiben zu erzielen.

Das folgende Beispiel zeigt, wie das Neuschreiben mit dem mod_rewrite-Modul von Apache konfiguriert wird. Das Beispiel basiert auf:

  • Zuordnung eingehender Anfragen an die Domäne www.geometrixx.de zu /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> 

Gilt für

CQ5.2.x, CQ5.3

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online