W routing.yml można robić takie rzeczy jak:Jak przekierować z parametrami w routing.yml?
redirect_old_url_to_new:
pattern: /old-pattern
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: /new-pattern
permanent: true
który odsyła do adresu URL /old-pattern
/new-pattern
. Jednak jeśli mam parametr, jaki może być tłumaczone parametr w nowej ścieżce, np .:
redirect_old_url_to_new:
pattern: /old-pattern/{page}
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: /new-pattern/{page}
permanent: true
to nie działa i przekierowanie do /new-pattern/{page}
dosłownie i dlatego przekierowanie z /old-pattern/23
do /new-pattern/{page}
.
jeśli trasa docelowa ma mniej parametrów niż przekierowana trasa, czy nadal będzie działać? – DevZer0
To zadziała, ale dodatkowe parametry staną się parametrami zapytania do adresu URL. – DavidLin
@DavidLin: W Symfony 2.8 (może i poprzednie wersje) można zignorować dodatkowe parametry, ustawiając 'ignoreAttributes' w' defaults'. Na przykład, 'ignoreAttributes: [nazwa, wiek]' zignoruje dodatkowe parametry 'name' i' age', więc nie pojawią się w adresie URL. – conradkdotcom