diff --git a/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/RewritePlugin.java b/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/RewritePlugin.java index 3f0616fbcc59..486764f1e7bd 100644 --- a/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/RewritePlugin.java +++ b/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/RewritePlugin.java @@ -74,9 +74,9 @@ protected Mono doExecute(final ServerWebExchange exchange, final ShenyuPlu final Integer percentage = Optional.ofNullable(rewriteHandle.getPercentage()).orElse(100); if (StringUtils.isNoneBlank(rewriteHandle.getRegex(), rewriteHandle.getReplace()) && ThreadLocalRandom.current().nextInt(100) < percentage) { - rewriteUri = rewriteHandle.getReplace().contains("{") + rewriteUri = rewriteHandle.getReplace().contains("{") && rewriteHandle.getRegex().contains("{") ? PathMatchUtils.replaceAll(rewriteHandle.getReplace(), rewriteHandle.getRegex().substring(rewriteHandle.getRegex().indexOf("{")), - rewriteUri.substring(rewriteHandle.getRegex().indexOf("{") + 1)) + rewriteUri.substring(rewriteHandle.getRegex().indexOf("{"))) : rewriteUri.replaceAll(rewriteHandle.getRegex(), rewriteHandle.getReplace()); Map attributes = exchange.getAttributes(); if (Optional.ofNullable(rewriteHandle.getRewriteMetaData()).orElse(false)) {