在Symfony 2中设置索引路由

时间:2012-02-03 07:38:33

标签: symfony routing indexing routes

我安装了Symfony2,并且是一个主要工作的站点,唯一的问题是我不知道如何设置默认路由。目前,我使用以下URL访问我的索引和其他路由:

  

www.example.com/app_dev.php/index

     

www.example.com/app_dev.php/example_route

我想将www.example.com默认为索引路由,因此我可以使用以下网址获得相同的结果:

  

www.example.com

     

www.example.com/example_route

我正在运行lighttpd作为我的网络服务器。如何配置lighttpd / Symfony2来执行此操作?

6 个答案:

答案 0 :(得分:14)

只需创建一个映射到/模式的路线:

# app/config/routing.yml
homepage:
    pattern:   /
    defaults:  { _controller: AcmeHomeBundle:home:show }

这将路由到您指定的任何控制器。

答案 1 :(得分:0)

答案 2 :(得分:0)

我使用下面的代码来设置主页路由。它工作正常

Symfony版本:Symfony 3.2.8

homepage:
    path:   /
    defaults:  { _controller: AppBundle:Home:index}

答案 3 :(得分:-1)

我通过从routing_dev.yml中删除以下内容解决了这个问题

_welcome:
    pattern:  /
    defaults: { _controller: AcmeDemoBundle:Welcome:index }

假设您已在routing.yml文件中设置了默认/路由,或者通过在控制器中定义路由,例如:

/**
 * @Route("/")
 * @Template()
 */
public function indexAction()
{
    return array('name' => '1');
}

答案 4 :(得分:-1)

对我Symfony 4.1.x

编辑文件

# app/config/routes.yaml
index:
    path: /
    controller: App\Controller\YourIndexController::yourIndexFunction

App\Controller是您在namespace类的开头声明的Controller,其后是要路由到的类名和方法名。

答案 5 :(得分:-2)

ManseUK给出的答案非常有用,但我没有详细说明

1)

# app/config/routing.yml
homepage:
    pattern:   /
    defaults:  { _controller: AcmeHomeBundle:home:show }

2)将app_dev.php重命名为index.php,这将自动路由到主页