Zuletzt aktualisiert am
1. Mai 2021
Problem
Nach dem Upgrade von CQ5.2.x auf CQ5.3 geben alle Seiten unserer Site einen 404-HTTP-Status zurück.
Ursache
Wenn Sie in CQ5.2.x /apps/sling/servlet/errorhandler/404.jsp
einen benutzerdefinierten 404-Fehler-Handler definiert haben, wird der benutzerdefinierte 404-Handler außer Kraft gesetzt, der standardmäßig in CQ5.3 enthalten ist. Dies führt dazu, dass alle Seiten den 404-Status zurückgeben, da Ihr Skript das Standardskript von CQ5.3 außer Kraft setzt.
Lösung
So lösen Sie dieses Problem:
- Benennen Sie Ihren benutzerdefinierten 404-Handler
/apps/sling/servlet/errorhandler/404.jsp
um. - Kopieren Sie
/libs/sling/servlet/errorhandler/404.jsp
nach/apps/sling/servlet/errorhandler/404.jsp
. - Passen Sie das anwendungsbereite Skript an, um eine Einbindung Ihres benutzerdefinierten 404-Handlers vorzunehmen. Sie können dies tun, indem Sie den unteren Abschnitt durch Ihre 404-Funktionalität ersetzen.
Unterer Bereich von 404.jsp von CQ5.3 (oben erwähnt):
... // hier herkommen, wenn keine Authentifizierung stattfinden sollte oder // kein Authentifizierungsdienst verfügbar ist oder wenn kein // AuthenticationHandler authentifizieren möchte. // Also greifen wir zurück auf das herkömmliche 404/NOT FOUND // send 404 response.setStatus(404); %><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>Die angeforderte URL <%= request.getRequestURI() %> wurde auf diesem Server nicht gefunden.</p> <hr> <address><%= this.getServletConfig().getServletContext().getServerInfo() %></address> </body></html><% %>
Gilt für
Upgrade von CQ5.2.x auf CQ5.3.