1. 概述
1.1 插件名称#
- Rewrite插件
1.2 适用场景#
- 通过重写请求路径, 可以使用与目标服务不同的uri。
1.3 插件功能#
- 该插件用于重写请求uri。
1.4 插件代码#
核心模块
shenyu-plugin-rewrite核心类
org.apache.shenyu.plugin.rewrite.RewritePlugin
1.5 添加自哪个Shenyu版本#
- 2.4.0
2. 如何使用插件
2.1 插件使用流程图#

2.2 导入pom#
- 在网关的
pom.xml文件中添加插件 maven 配置。
<dependency> <groupId>org.apache.shenyu</groupId> <artifactId>shenyu-spring-boot-starter-plugin-rewrite</artifactId> <version>${project.version}</version> </dependency>2.3 启用插件#
- 在
shenyu-admin--> 基础配置 --> 插件管理 -->rewrite设置为开启。
2.4 配置插件#
2.4.1 插件配置#
- 在使用前要启用插件。
- 如果不再使用插件需要禁用。
2.4.2 选择器配置#
- 请参考: 选择器和规则管理.
2.4.3 规则配置#

- 参数解释:
regex: 匹配uri中要重写部分的正则表达式。replace: 替换的内容。percentage: 重写的百分比,100表示100%。rewriteMetaData: 是否重写元数据,true表示开启,开启后可跨插件重写uri。
2.5 示例#
2.5.1 重新uri示例#
2.5.1.1 运行 shenyu-examples-http 项目#
- 使用shenyu-examples-http, 参考
2.5.1.1 插件配置#
- 参考2.4.1配置插件.
2.5.1.2 选择器配置#
- 参考2.4.2配置选择器
2.5.1.3 规则配置#

请求 /http/hello 将被重写成/hi。
2.5.1.4 验证结果#
使用工具(如Postman)发起请求:

3. 如何禁用插件
- 在
shenyu-admin--> 基础配置 --> 插件管理 -->rewrite设置为关闭。