Ich versuche, eine einfache Rewrite-Regel in einem eingebetteten Jetty-Server zu implementieren, die den Jetty-Dokumentationsbeispielen folgt.Embedded Jetty schreibt nicht mehr richtig
Ich möchte Anfragen an /admin/
in /admin.html umschreiben. Im Moment, wenn ich Anfrage /admin/
erhalte ich einen 404 Fehler mit /admin.html
nicht gefunden. Aber wenn ich direkt /admin.html
anfordern, funktioniert es!
Es gibt 2 weitere ähnliche Beiträge auf stackoverflow, aber keine Antworten auf die Frage!
Hier ist der Code:
WebAppContext _ctx = new WebAppContext();
_ctx.setContextPath("/");
_ctx.setDefaultsDescriptor(JETTY_DEFAULTS_DESCRIPTOR);
_ctx.setParentLoaderPriority(true);
_ctx.setWar(getShadedWarUrl());
_ctx.setResourceBase(getShadedWarUrl());
RewriteHandler rewriter = new RewriteHandler();
rewriter.setRewritePathInfo(true);
rewriter.setRewriteRequestURI(true);
rewriter.setOriginalPathAttribute("requestedPath");
RewritePatternRule admin = new RewritePatternRule();
admin.setPattern("/admin/");
admin.setReplacement("/admin.html");
admin.setTerminating(true); // this will stop Jetty from chaining the rewrites
rewriter.addRule(admin);
_ctx.setHandler(rewriter);
HandlerCollection _handlerCollection = new HandlerCollection();
_handlerCollection.setHandlers(new Handler[] {_ctx});
server.setHandlers(_result);
, die sehr hilfreich ist! Vielen Dank! – Melissa