2012-02-03 136 views
1

我已經安裝了Symfony2,並且一個主要工作的站點,唯一的問題是我不知道如何設置默認路由。目前,我進入指數等航線與以下網址:在Symfony 2中設置索引路由

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作爲我的Web服務器。我怎樣才能配置lighttpd/Symfony2來做到這一點?

+0

Symfony的3.2,'應用/配置/ routing.yml'添加以下代碼: '主頁: 路徑:/ 默認:{_controller:的appbundle:站點:索引}'//站點是src/AppBundle/Controller/ – 2017-05-21 07:05:25

回答

13

只要創建一個映射到/模式的路線:

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

這將路由到您指定的任何控制器。

+0

中的一個SiteController注意:這不適用於Symfony 3+,使用路徑代替模式 – 2017-10-30 14:51:49

-2

通過ManseUK給出的答案是非常有益的,但我有一點闡述

1)

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

2)重命名app_dev.php到的index.php,這將路由到主頁自動

+2

將app_dev.php重命名爲index.php不是一個好主意,因爲此入口點用於開發如果要切換到生產模式,請使用app.php並使用htaccess執行url重寫 – 0x1gene 2015-01-07 16:05:51

+0

同意:請勿將app_dev.php重命名爲index.php。這就是爲了發展的目的。你可以做到這一點,但我認爲這是一種不好的做法。 – user3563097 2017-04-07 13:24:28

-1

我剛好去除routing_dev.yml

_welcome: 
    pattern:/
    defaults: { _controller: AcmeDemoBundle:Welcome:index } 
下解決了這個問題

這是假設你已經安裝在routing.yml中的文件或通過定義控制器中的路線就像一個缺省的/路線:

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

我用下面的代碼來設置主頁route.It工作正常

Symfony版本:Symf ONY 3.2.8

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