2011-11-28 17 views
18

Symfony2 devuelve No se encontró ninguna ruta para "GET /" cuando intento ejecutar http://localhost/app_dev.php, pero esta url funciona: http://localhost/app_dev.php/hello/Symfony. Eliminé AcmeDemoBundle y estoy intentando ejecutar un paquete de ejemplo de un tutorial de symfony2. Qué está mal ?Symfony 2 No se encontró ninguna ruta para "GET /"

app/config/routing.yml:

ShopMyShopBundle: 
resource: "@ShopMyShopBundle/Resources/config/routing.yml" 
prefix: /

app/config/routing_dev.yml:

_assetic: 
resource: . 
type:  assetic 

_wdt: 
resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml" 
prefix: /_wdt 

_profiler: 
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" 
prefix: /_profiler 

_configurator: 
resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml" 
prefix: /_configurator 

_main: 
resource: routing.yml 

src/Tienda/MyShopBundle/Resources/config/routing.yml:

ShopMyShopBundle_homepage: 
pattern: /hello/{name} 
defaults: { _controller: ShopMyShopBundle:Main:index } 
requirements: 
    _method: GET 

Respuesta

20

El problema es que no tiene una ruta para /. Cambie su definición a esto:

ShopMyShopBundle_homepage: 
    pattern:/
    defaults: { _controller: ShopMyShopBundle:Main:index } 
    requirements: 
     _method: GET 
1

Prefijo es el prefijo para el enrutamiento url. Si es igual a '/' significa que no tendrá prefijo. Luego definió una ruta con patrón "debería comenzar con/hello".

Para crear una ruta para '/' es necesario agregar estas líneas en su src/Tienda/MyShopBundle/Resources/config/routing.yml:

ShopMyShopBundle_homepage: 
    pattern:/
    defaults: { _controller: ShopMyShopBundle:Main:index } 
10

Las respuestas anteriores son incorrectas, respectivamente aren' Estoy respondiendo por qué tiene problemas para ver el prod-mode de contenido de demostración.

Aquí está la respuesta correcta: claro su "prod" -cache:

php app/console cache:clear --env prod 
+0

Tengo el mismo ahora, he seguido todas las sugerencias, pero nada funcionó. Creo que todas las respuestas están desactualizadas. Hoy – samayo

+0

con anotaciones tenemos que recordar para activar annoations en el archivo config.yml de nuestro paquete: todo: de recursos: "@ OurBundle/Controlador /" Tipo: anotación – Nico

+0

Gracias para la edición Geoffrey – bacbos

5

Este trabajo para mí:

cache:clear --env=prod 
3

Utilizando Symfony 2.3 con PHP 5.5 y utilizando el construido en el servidor con

app/console server:run 

el cual debe de salida algo como:

Server running on http://127.0.0.1:8000 
Quit the server with CONTROL-C. 

luego ir a http://127.0.0.1:8000/app_dev.php/app/example

esto debe darle la predeterminado, que también puede encontrar la ruta predeterminada al visualizar src/AppBundle/Controller/DefaultController.php

1

Pude haber sido solo uno de los que cometió este error, pero tal vez no sea así, lo publicaré.

format for annotations en los comentarios antes de que una ruta tenga que comenzar con una barra oblicua y dos asteriscos. Estaba cometiendo el error de una barra y solo un asterisco, que PHPStorm se completó automáticamente.

mi ruta era la siguiente:

/* 
* @Route("/",name="homepage") 
*/ 
public function indexAction(Request $request) { 
    return $this->render('default/index.html.twig'); 
} 

cuando debería haber sido esta

/** 
* @Route("/",name="homepage") 
*/ 
public function indexAction(Request $request) { 
    return $this->render('default/base.html.twig'); 
} 
Cuestiones relacionadas