gpt4 book ai didi

java - Jetty RewriteHandler 和 RewriteRegexRule

转载 作者:太空宇宙 更新时间:2023-11-04 08:53:33 24 4
gpt4 key购买 nike

我正在尝试重写 servlet 的 URL。 URL 被正确重写,但之后上下文不匹配。知道如何让它发挥作用吗?

RewriteHandler rewriteHandler = new RewriteHandler();
rewriteHandler.setRewriteRequestURI(true);
rewriteHandler.setRewritePathInfo(true);
rewriteHandler.setOriginalPathAttribute("requestedPath");

RewriteRegexRule rewriteRegexRule = new RewriteRegexRule();
rewriteRegexRule.setRegex("/r/([^/]*).*");
rewriteRegexRule.setReplacement("/r?z=$1");
rewriteHandler.addRule(rewriteRegexRule);

ContextHandlerCollection contextHandlerCollection = new ContextHandlerCollection();
Context servletContext = new Context(contextHandlerCollection, "/");

servletContext.addServlet(new ServletHolder(new RedirectServlet()), "/r");

所以基本上 /r/asdf 被重写为 /r?z=asdf

但是,重写的 /r?z=asdf 现在不由 servlet 处理。

此外,如果直接调用,/r?z=asdf 也可以工作。

我已将完整代码粘贴在这里:http://pastebin.com/Z1isNADg

最佳答案

结果我想要 RedirectRegexRule 而不是 RewriteRegexRule

关于java - Jetty RewriteHandler 和 RewriteRegexRule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com