0

我一直在尝试将多个路由映射到默认控制器,但它似乎没有按预期工作。

我在控制器中使用注释:

/**
 * @Route("/", name="index_controller");
 * @Template("SeoSlinkyBundle:Default:index.html.twig");
 */
 public indexAction() {}

但我想这样做:

/**
 * @Route("/", name="index_controller");
 * @Route("/{timeoption}", name="index_controller");
 * @Template("SeoSlinkyBundle:Default:index.html.twig");
 */
 public indexAction($timeoption = "today") {
   echo $today;
   exit;
 }

这实际上有效,如果我去:

http://myapp/hello

控制器回应“你好”

但如果我去

http://myapp/

控制器应回显“今天”

但相反,我收到了这个错误:

无法从“/usr/share/www/myapp/app/config/routing.yml”导入资源“/usr/share/www/myapp/src/MyAppBundle/Controller/”。

这些是 routing.yml 的内容

my_app:
    resource: "@MyAppBundle/Controller/"
    type:     annotation
    prefix:   /
imag_ldap:
    resource: "@IMAGLdapBundle/Resources/config/routing.yml"

任何帮助将不胜感激!

4

1 回答 1

2

我的猜测是因为您有2 条同名路线,这是错误的

你应该试试 :

/**
 * @Route("/", name="index_controller");
 * @Route("/{timeoption}", name="index_controller_timeoption");
 * @Template("SeoSlinkyBundle:Default:index.html.twig");
 */
 public indexAction($timeoption = "today") 
 {
     echo $today;
     exit;
 }
于 2013-08-28T14:54:17.423 回答