Pregunta

Symfony2 no devuelve la ruta encontrada 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 tratando de ejecutar un paquete de ejemplo de un tutorial Symfony2. Qué está mal ?

app/config/ruting.yml:

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

app/config/ruting_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/shop/myshopbundle/recursos/config/ruting.yml:

ShopMyShopBundle_homepage:
pattern:  /hello/{name}
defaults: { _controller: ShopMyShopBundle:Main:index }
requirements:
    _method:  GET
¿Fue útil?

Solución

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

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

Otros consejos

Las respuestas anteriores son incorrectas, respectivamente, no responden por qué está teniendo problemas para ver el modo de prod de contenido de demostración.

Aquí está la respuesta correcta: Borre su "Prod" -Cache:

php app/console cache:clear --env prod

Este trabajo para mi:

cache:clear --env=prod

Uso de Symfony 2.3 con PHP 5.5 y utilizando el servidor incorporado con

app/console server:run

que debería generar algo como:

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

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

Esto debería darle el valor predeterminado, que también puede encontrar la ruta predeterminada viendo src/appbundle/controler/defaultController.php

El prefijo es el prefijo para el enrutamiento de URL. Si es igual a '/', significa que no tendrá prefijo. Luego definió una ruta con patrón "Debería comenzar con /hola".

Para crear una ruta para '/', debe agregar estas líneas en su src/shop/myshopbundle/recursos/config/ruting.yml:

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

Podría haber sido solo uno que cometió este error, pero tal vez no, lo publicaré.

la formato para anotaciones En los comentarios antes de que una ruta tenga que comenzar con un corte y dos asteriscos. Estaba cometiendo el error de una barra y solo un asterisco, que PhpStorm se ha completado.

Mi ruta se veía así:

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

Cuando debería haber sido esto

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

También he intentado ese error, lo hice bien simplemente agregando/hola/cualquier nombre porque es ruta que debe haber un hola/nombre

Ejemplo: en lugar de simplemente poner http: //localhost/app_dev.php

Ponlo como de esta manera http: //localhost/name_of_your_project/web/app_dev.php/hello/ai

Mostrará Hello Ai. Espero responder a tu pregunta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top