Cómo configurar una redirección a otra ruta sin un controlador personalizado

Esta guía explica cómo configurar un redireccionamiento de una ruta a otra sin necesidad de utilizar un controlador personalizado.

Supone que no hay ningún controlador predefinido útil para la ruta / de tu aplicación y deseas redirigir esas peticiones a /app.

Tu configuración se ve así:

AppBundle:
    resource: "@App/Controller/"
    type:     annotation
    prefix:   /app

root:
    path:     /
    defaults:
        _controller: FrameworkBundle:Redirect:urlRedirect
        path: /app
        permanent: true

En este ejemplo, configuras una ruta para / y dejas que Symfony\Bundle\FrameworkBundle\Controller\RedirectController la maneje. Este controlador viene integrado en Symfony y ofrece dos métodos para redirigir una petición:

  • urlRedirect redirige a otra ruta. Debes proporcionar el argumento ruta que contiene la ruta del recurso al que deseas redirigir.
  • redirect (no mostrado aquí) redirige a otra ruta. Debes proporcionar el argumento ruta con el nombre de la ruta a la cual deseas redirigir.

La opción permanent instruye a ambos métodos para emitir un código de estado HTTP 301.

Bifúrcame en GitHub