diff --git a/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java b/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java index 493535e09c..06b3c243a9 100644 --- a/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java +++ b/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java @@ -618,10 +618,11 @@ public class UrlPathHelper { } StringBuilder sb = new StringBuilder(requestUri); while (semicolonIndex != -1) { - int slashIndex = requestUri.indexOf('/', semicolonIndex); - if (slashIndex >= 0) { - sb.delete(semicolonIndex, slashIndex); + int slashIndex = requestUri.indexOf('/', semicolonIndex + 1); + if (slashIndex == -1) { + slashIndex = sb.length(); } + sb.delete(semicolonIndex, slashIndex); semicolonIndex = sb.indexOf(";", semicolonIndex); } return sb.toString();