En el routing.yml puede hacer cosas como:¿Cómo redirigir con parámetros en routing.yml?
redirect_old_url_to_new:
pattern: /old-pattern
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: /new-pattern
permanent: true
que redirigirá a la URL /old-pattern
/new-pattern
. Sin embargo, si tengo un parámetro, ¿cómo puede ser el parámetro traducida en la nueva ruta, por ejemplo .:
redirect_old_url_to_new:
pattern: /old-pattern/{page}
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: /new-pattern/{page}
permanent: true
Esto no está funcionando y se redirigirá a /new-pattern/{page}
, literalmente, y por lo tanto va a cambiarlo desde la /old-pattern/23
a /new-pattern/{page}
.
si la ruta de destino tiene menos parámetros que la ruta que se redirige, ¿seguirá funcionando? – DevZer0
Funcionará, pero los parámetros adicionales terminan como parámetros de consulta en la url. – DavidLin
@DavidLin: en Symfony 2.8 (también versiones anteriores), puede ignorar parámetros adicionales configurando la tecla 'ignoreAttributes' en' defaults'. Por ejemplo, 'ignoreAttributes: [name, age]' ignorará los parámetros extra 'name' y' age', por lo que no aparecerán en la URL. – conradkdotcom