<a id="i-rewrites"></a>

# Поддержка переписывания (rewrites)

ANIC позволяет преобразовывать (переписывать) URI запроса перед отправкой в приложение.
Например, путь запроса `/tea/green` может быть перезаписан как `/green`.
Для настройки изменения URI для ресурса Ingress необходимо использовать аннотацию `angie.software/rewrite`.

Синтаксис:

```yaml
angie.software/rewrites: "serviceName=service1 rewrite=rewrite1[;serviceName=service2 rewrite=rewrite2;...]"
```

В следующем примере нагрузка между двумя приложениями, требующими изменения URI,
балансируется с помощью префиксного сопоставления:

```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: cafe-ingress
  annotations:
    angie.software/rewrites: "serviceName=tea-svc rewrite=/;serviceName=coffee-svc rewrite=/beans/"
spec:
  rules:
  - host: cafe.example.com
    http:
      paths:
      - path: /tea/
        pathType: Prefix
        backend:
          service:
            name: tea-svc
            port:
              number: 80
      - path: /coffee/
        pathType: Prefix
        backend:
          service:
            name: coffee-svc
            port:
              number: 80
```

Изменения URI для `tea-svc` (обратите внимание,
что запросы к `/tea` перенаправляются на `/tea/` с добавлением косой черты в конце):

| Исходный URI   | Переписанный URI   |
|----------------|--------------------|
| `/tea/`        | `/`                |
| `/tea/abc`     | `/abc`             |

Изменения URI для `coffee-svc`:

| Исходный URI   | Переписанный URI   |
|----------------|--------------------|
| `/coffee/`     | `/beans/`          |
| `/coffee/abc`  | `/beans/abc`       |
