Istio Virtual Service is not working very well

Hi all, I now find that the Rewrite feature of my Virtual Service is not working very well.
Here is my Virtual Service and DestinationRule yaml file:

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: leads-http
  namespace: seldon
spec:
  gateways:
  - istio-system/seldon-gateway
  hosts:
  - '*'
  http:
  - match:
    - uri:
        prefix: /seldon/seldon/leads/
    rewrite:
      uri: /
    route:
    - destination:
        host: leads-leads
        port:
          number: 8000
        subset: leads
---
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: leads-leads
  namespace: seldon
spec:
  host: leads-leads
  subsets:
  - labels:
      version: leads
    name: leads
  trafficPolicy:
    connectionPool:
      http:
        idleTimeout: 60s

When I send an http request:

curl --location --request POST 'http://localhost/seldon/seldon/leads/v2/models/leads-lgb/versions/v0.1.0/infer'

I find that the istio-proxy service prints 404 not found in the logs:

"POST /seldon/seldon/leads/v2/models/leads-lgb/versions/v0.1.0/infer HTTP/1.1" 404

This is because my service is routed to leads/v2/models/leads-lgb/versions/v0.1.0/infer. Now it looks like the Virtual Service’s ReWrite is not working.I am not sure what’s happening. Does anyone have any idea? Thanks!