2017-03-23 1 views
0

En ce moment, ma page d'accueil est le DefaultController:Symfony 3 annotation routage jeu page d'accueil

/** 
* @Route("/", name="homepage") 
*/ 
    public function indexAction(Request $request) 
    { 

Mais je voudrais le défaut d'être dans mon contrôleur de blog:

/** 
* @Route("/blog/index", name="blog_index") 
*/ 
    public function indexAction() { 

Je me rends compte que je pouvais juste définir cette route à /, mais ce que je voudrais est à la fois pour /blog/index et / pour acheminer à la même action (affichant l'URL /blog/index si possible).

J'ai regardé les réponses précédentes, mais je ne peux pas en trouver une qui traite spécifiquement des annotations.

En ce moment je redirige juste du DefaultController mais cela semble légèrement hacky - est-ce que n'importe qui a une meilleure solution?

Répondre

4

Avez-vous essayé ce qui suit dans votre contrôleur de blog?

/** 
* @Route("/", name="homepage") 
* @Route("/blog/index", name="blog_index") 
*/ 
public function indexAction() { ... } 
+0

Belle solution. Thailandia vous! – sensorario

+0

Cela ne semble pas fonctionner si j'utilise l'URL: 'http: //127.0.0.1: 8000/blog/index' qui ne renvoie aucune route, si je vais' http: //127.0.0.1: 8000/' l'url change pour: 'http: //127.0.0.1: 8000 /% 7Bblog/index% 7D' et la route fonctionne, mais je suppose que ces caractères supplémentaires causent le problème? Quand ceux qui encodent l'URL est: 'http://127.0.0.1:8000/ {blog/index}' qui correspond exactement à l'itinéraire. – Darkstarone

+0

Je viens de mettre à jour la solution, je commence à malentendu en pensant à la version 2.x de Symfony, maintenant c'est correct. –