diff --git a/jetty-core/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RedirectRegexRule.java b/jetty-core/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RedirectRegexRule.java index 4f36b374c92..8984745efd1 100644 --- a/jetty-core/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RedirectRegexRule.java +++ b/jetty-core/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/RedirectRegexRule.java @@ -117,7 +117,7 @@ protected boolean handle(Response response, Callback callback) if (targetQueryIdx != (-1)) { targetPath = target.substring(0, targetQueryIdx); - targetQuery = target.substring(targetQueryIdx); + targetQuery = target.substring(targetQueryIdx + 1); } else { diff --git a/jetty-core/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RedirectRegexRuleTest.java b/jetty-core/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RedirectRegexRuleTest.java index b3614b4d341..91788b8affb 100644 --- a/jetty-core/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RedirectRegexRuleTest.java +++ b/jetty-core/jetty-rewrite/src/test/java/org/eclipse/jetty/rewrite/handler/RedirectRegexRuleTest.java @@ -148,7 +148,7 @@ public void testMatchOnlyPathLocationWithQueryAddQueries() throws Exception HttpTester.Response response = HttpTester.parseResponse(_connector.getResponse(request)); assertEquals(HttpStatus.MOVED_PERMANENTLY_301, response.getStatus()); - assertEquals("http://www.mortbay.org/api/rest/foo?v=old&id=100&sort=date", response.get(HttpHeader.LOCATION)); + assertEquals("http://www.mortbay.org/api/rest/foo?id=100&sort=date&v=old", response.get(HttpHeader.LOCATION)); } @Test