Estoy reescribiendo un proyecto antiguo usando Symfony2 para poder probar el framework. Tengo las direcciones URL que serán de la forma:¿Cómo enrutar una URL usando una cadena de consulta en Symfony2?
/profile/{id}
de la manera elegante que Symfony2 lo hace. Sin embargo, la misma página se encontró originalmente por hacer:
/profile.php?id=12345
Por lo tanto, en caso de que alguien tiene una dirección de edad, me gustaría volver a dirigir estos enlaces. El problema es que no sé cómo atrapar rutas de esta naturaleza. Intenté
/profile.php?id={id}
pero eso no parecía funcionar. ¿Cómo puedo configurar esta ruta?
Seguimiento: no quiero hacer "catch-all" (debido a que no es intuitivo para mí, así que temo errores futuros), y yo preferiría no hacerlo a través de htaccess para el mismo razón. Creo que la mejor opción es hacer coincidir "/profile.php" y luego en el controlador, verificar que "id" exista en query-string y redirigir en consecuencia. Si no es así, voy a redirigir a 404.
¿El mod_rewrite correcto sería: 'RewriteRule^profile.php? Id = (\ d +) $/profile/$ 1 [R = 301]'? –
Solo quiero verificar que esta es la mejor estrategia, ya que no soy un experto en Apache htaccess shenanigans –
Yo tampoco. Puede probar las reescrituras aquí: http://martinmelin.se/rewrite-rule-tester/. Aunque preferiría manejar eso con SF. Porque las rutas son hoy en día parte del modelo/lógica. – Raffael