Nella routing.yml si possono fare cose come:Come reindirizzare con i parametri in routing.yml?
redirect_old_url_to_new:
pattern: /old-pattern
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: /new-pattern
permanent: true
Quale sarà reindirizzare l'URL /old-pattern
a /new-pattern
. Tuttavia, se ho un parametro, come può essere il parametro tradotto nel nuovo percorso, es .:
redirect_old_url_to_new:
pattern: /old-pattern/{page}
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: /new-pattern/{page}
permanent: true
questo non sta funzionando e reindirizza a /new-pattern/{page}
letteralmente e pertanto direzionare da /old-pattern/23
a /new-pattern/{page}
.
se il percorso di destinazione ha meno parametri rispetto al percorso che viene reindirizzato, funzionerebbe ancora? – DevZer0
Funzionerà ma i parametri aggiuntivi finiscono come parametri di query nell'URL. – DavidLin
@DavidLin: In Symfony 2.8 (forse anche nelle versioni precedenti), puoi ignorare parametri extra impostando la chiave 'ignoreAttributes' in' defaults'. Ad esempio, "ignoreAttributes: [name, age]" ignorerà i parametri extra 'name' e' age', quindi non appariranno nell'URL. – conradkdotcom