> HTTP Rewrite 将请求转发给目标服务前修改HTTP请求中指定部分的内容,这个不同于重定向,重定向对用户是可见,重写对用户是不可见的,因为是在服务端进行的。
#### 什么场景需要用到重写
在生产环境中,经常有一些 url 变更的需求,同时又需要做到对请求透明友好,又或者是类似一些 url 路径需要起多一个别名的效果,都是可以通过重写去简单的实现。
#### 通过例子来理解

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpd-vs
spec:
hosts:
- httpd-service
http:
- match:
- uri:
prefix: /check
rewrite:
uri: /api/health
route:
- destination:
host: nginx-service
和Redirect规则稍有不同的是,Redirect的uri只能替换全部的Path,Rewrite的uri是可以重写前缀的,即如果原来匹配条件是前缀匹配,则修改后只修改匹配到的前缀。