# Referencia de redirecciones

> Campos de una regla de redirección, sus valores por defecto, cómo se normalizan y los límites que se aplican.

Las reglas de redirección son la lista `redirects` de los ajustes de borde de una zona. Un `PATCH` sustituye la lista entera. Los campos desconocidos se rechazan.

| Campo | Por defecto | Reglas |
|---|---|---|
| `host` | — | Obligatorio. Un nombre completo de la zona (la zona o por debajo), sin comodín. Se guarda en minúsculas y sin punto final. |
| `path_prefix` | `/` | Empieza por `/`; sin `?`, `#`, espacios ni caracteres de control; como mucho 1024 caracteres. Se guarda en forma canónica: lo no ASCII y los reservados como `%XX` en mayúsculas (`/año` y `/a%c3%b1o` se guardan los dos como `/a%C3%B1o`; `%2F` cuenta como `/`). Único por `host`. |
| `target` | — | Obligatorio. URL absoluta `http://` o `https://`, como mucho 2048 caracteres, sin `usuario:clave@`, fragmento ni espacios; puede llevar query. El esquema se guarda en minúsculas y los bytes no ASCII de la ruta y la query como `%XX`; escribe el host en ASCII (punycode para los nombres internacionales). |
| `preserve_path` | `true` | Añadir el resto de la ruta tras el prefijo. |
| `preserve_query` | `true` | Añadir la query de la petición. |
| `status` | `301` | `301`, `302`, `307` o `308`. |

## Límites

- Como mucho 50 reglas por zona.
- Una regla no puede redirigir a su propio `host` en una ruta que ella misma captura.
- Las reglas de redirección no se pueden poner por nombre en `hosts`: cada regla ya nombra su `host`.

## Errores

Las reglas no válidas se rechazan con `422` y un mensaje que nombra la regla, por ejemplo `redirects[0].host: "shop.example.org" is not a name of the zone example.com`.
