Symfony 2 No se encuentra Ruta para "Get /"
-
25-10-2019 - |
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
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.