Как правильно создавать URL-адреса из шаблона в Symfony2 / Twig

Я работаю с Symfony2 и:

У меня это в routing.yml

_welcome: resource: "@AcmeBundle/Controller/" type: annotation 

Я этот метод в контроллере:

 /** * @Route("/{page}") */ public function staticAction($page) { return $this->render('AcmeBundle:Static:'.$page.'.html.twig'); } 

Чтобы создать общие страницы:

 /home /contact /privacy 

Но когда я делаю url в меню:

 <a href="{{ path('_welcome', {'page': 'home'}) }}">Home</a> <a href="{{ path('_welcome', {'page': 'contact'}) }}">Contact</a> <a href="{{ path('_welcome', {'page': 'privacy'}) }}">Privacy</a> 

И я Symfony генерирует эти URL:

 …./?page=home …./?page=contact …./?page=privacy 

И право будет:

 /home /contact /privacy 

Что мне делать?

Вы должны добавить название маршрута в аннотации маршрута контроллера, как показано ниже,

 /** * @Route("/{page}", name="static") */ public function staticAction($page) { // ... } 

Затем вы можете вызвать помощника path ветки, используя это имя,

 <a href="{{ path('static', {'page': 'home'}) }}">Home</a>