Redirecciones

La administración de reglas de redirección es un requisito común de las aplicaciones web, especialmente en los casos en que no desea perder los vínculos entrantes que han cambiado o se han eliminado con el tiempo.

A continuación se muestra cómo administrar las reglas de redirección en Adobe Commerce en proyectos de infraestructura en la nube mediante el archivo de configuración routes.yaml. Si los métodos de redirección mencionados en este tema no funcionan, puede utilizar encabezados de almacenamiento en caché para hacer lo mismo.

NOTE
Los siguientes ejemplos de configuración de rutas utilizan plantillas de rutas con marcadores de posición. El marcador de posición {default} representa el dominio predeterminado configurado para el sitio. Si el proyecto tiene varios dominios, use el marcador de posición {all} para configurar el enrutamiento para el dominio predeterminado y todos los alias. Consulte Configurar rutas.

Actualizaciones en entornos Pro

WARNING
Algunos proyectos Pro requieren un vale de soporte técnico para actualizar la configuración de ruta en el archivo routes.yaml y la configuración de cron en el archivo .magento.app.yaml. El Adobe recomienda actualizar y probar los archivos de configuración de YAML en un entorno de integración y, a continuación, implementar los cambios en el entorno de ensayo. Si los cambios no se aplican a los sitios de ensayo después de volver a implementar y no hay mensajes de error relacionados en el registro, DEBE enviar un vale de soporte de Adobe Commerce que describa los cambios de configuración que se han intentado realizar. Incluya todos los archivos de configuración de YAML actualizados en el ticket.
WARNING
Para Adobe Commerce en proyectos de infraestructura en la nube, configurar numerosas redirecciones y reescrituras que no son de regex en el archivo routes.yaml puede causar problemas de rendimiento. Si el archivo de routes.yaml tiene 32 KB o más, descargue las redirecciones que no sean de regex y vuelva a escribir en Fastly. Ver Descarga de redirecciones no regex a Fastly en lugar de a Nginx (rutas) en el Centro de ayuda de Adobe Commerce.

Redirecciones de ruta completa

Con las redirecciones de ruta completa, puede definir rutas simples mediante el archivo routes.yaml. Por ejemplo, puede redirigir de un dominio Apex a un subdominio www de la siguiente manera:

http://{default}/:
    type: redirect
    to: http://www.{default}/

Redirecciones de ruta parcial

En el archivo .magento/routes.yaml, puede agregar reglas de redireccionamiento parciales a rutas existentes basándose en la coincidencia de patrones:

http://{default}/:
    redirects:
        expires: 1d
        paths:
          "/from": { to: "http://example.com/" }
          "/regexp/(.*)/matching": { to: "http://example.com/$1", regexp: true }

Las redirecciones parciales funcionan con cualquier tipo de ruta, incluidas las rutas servidas directamente por la aplicación.

Hay dos claves disponibles en redirects:

  • expires: opcional; especifica la cantidad de tiempo para almacenar en caché la redirección en el explorador. Algunos ejemplos de valores válidos son 3600s, 1d, 2w, 3m.

  • rutas: uno o más pares de clave-valor que especifican la configuración de las reglas de redireccionamiento de ruta parcial.

    Para cada regla de redirección, la clave es una expresión para filtrar las rutas de solicitud para la redirección. El valor es un objeto que especifica el destino de destino de la redirección y las opciones para procesar la redirección.

    El objeto value tiene las propiedades siguientes:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
    Propiedad Descripción
    to Obligatorio, una ruta absoluta parcial, una dirección URL con protocolo y host o un patrón que especifique el destino de destino de la regla de redirección.
    regexp Opcional, el valor predeterminado es false. Especifica si la clave de ruta de acceso debe interpretarse como una expresión regular PCRE.
    prefix Especifica si la redirección se aplica tanto a la ruta de acceso como a todas sus rutas secundarias, o solo a la propia ruta de acceso. El valor predeterminado es true. Este valor no se admite si regexp es true.
    append_suffix Determina si el sufijo se transfiere con el redireccionamiento. El valor predeterminado es true. Este valor no se admite si la clave regexp es true o* si la clave prefix es false.
    code Especifica el código de estado HTTP. Los códigos de estado válidos son 301 (movido permanentemente), 302, 307 y 308. El valor predeterminado es 302.
    expires Opcional, especifica la cantidad de tiempo para almacenar en caché el redireccionamiento en el explorador. El valor predeterminado es expires, definido directamente bajo la clave redirects, pero en este nivel puede ajustar la caducidad de la caché para las redirecciones parciales individuales.

Ejemplos de redirecciones de ruta parcial

Los siguientes ejemplos muestran cómo especificar redirecciones de ruta parcial en el archivo routes.yaml mediante varias opciones de configuración de paths.

Coincidencia de patrones de expresión regular

Utilice el siguiente formato para configurar solicitudes de redirección basadas en una expresión regular.

http://{default}/:
    type: upstream
    redirects:
    paths:
        "/regexp/(.*)/match": { to: "http://example.com/$1", regexp: true }

Esta configuración filtra las rutas de solicitud en una expresión regular y redirige las solicitudes coincidentes a https://example.com. Por ejemplo, una solicitud a https://example.com/regexp/a/b/c/match redirige a https://example.com/a/b/c.

Coincidencia de patrones de prefijo

Utilice el siguiente formato para configurar solicitudes de redirección para rutas que comienzan con un patrón de prefijo especificado.

http://{default}/:
    type: upstream
    redirects:
    paths:
        "/from": { to: "https://{default}/to", prefix: true }

Esta configuración funciona de la siguiente manera:

  • Redirige las solicitudes que coinciden con el patrón /from a la ruta de acceso http://{default}/to.

  • Redirige las solicitudes que coinciden con el patrón /from/another/path a https://{default}/to/another/path.

  • Si cambia la propiedad prefix a false, las solicitudes que coinciden con el patrón /from se redirigirán, pero las solicitudes que coinciden con el déclencheur /from/another/path no.

Coincidencia de patrones de sufijo

Utilice el siguiente formato para configurar solicitudes de redireccionamiento que adjuntan el sufijo de ruta de la solicitud al destino de destino:

http://{default}/:
    type: upstream
    redirects:
    paths: "/from": { to: "https://{default}/to", append_suffix: false }

Esta configuración funciona de la siguiente manera:

  • Redirige las solicitudes que coinciden con el patrón /from/path/suffix a la ruta de acceso https://{default}/to.

  • Si cambia la propiedad append_suffix a true, las solicitudes que coincidan con /from/path/suffix se redirigirán a la ruta de acceso https://{default}/to/path/suffix.

Configuración de caché específica de la ruta

Utilice el siguiente formato para personalizar el tiempo para almacenar en caché una redirección desde una ruta específica:

http://{default}/:
    type: upstream
    redirects:
    expires: 1d
    paths:
        "/from": { to: "https://example.com/" }
        "/here": { to: "https://example.com/there", expires: "2w" }

Esta configuración funciona de la siguiente manera:

  • Las redirecciones de la primera ruta (/from) se almacenan en caché durante un día.

  • Las redirecciones de la segunda ruta (/here) se almacenan en caché durante dos semanas.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26