2012-02-03 3 views
1

У меня установлен Symfony2 и в основном рабочий сайт, единственная проблема - я не знаю, как установить маршрут по умолчанию. В настоящее время доступ к моему указательный и другие маршруты со следующими URL-адресов:Настройка маршрута указателя в Symfony 2

www.example.com/app_dev.php/index

www.example.com/app_dev.php/example_route

Я хотел бы иметь www.example.com по умолчанию маршрут индекса, так что я могу получить тот же результат с помощью следующих URL-адресов:

www.example.com

www.example.com/example_route

Я бегу Lighttpd, как мой веб-сервер. Как я могу настроить lighttpd/Symfony2 для этого?

+0

Symfony 3.2, 'приложение/Config/routing.yml' добавить этот код: ' страница: путь:/ по умолчанию: {_controller: AppBundle: сайт: индекс} '// сайт является SiteController в src/AppBundle/Controller/ –

ответ

13

Просто создать маршрут, который отображает до / шаблона:

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

Это будет путь к тому, что контроллер вы укажете.

+0

Примечание: это не будет работать для Symfony 3+, используйте путь вместо шаблона –

-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

+0

Согласитесь: не переименуйте app_dev.php в index.php. Это для целей развития.Вы можете это сделать, но я считаю, что это плохая практика. – user3563097

-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 версия: Sy mfony 3.2.8

homepage: 
    path: /
    defaults: { _controller: AppBundle:Home:index} 
Смежные вопросы