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
Bei Ihrem Konto anmelden