symfony 2 Nessun percorso trovato per “GET /”
-
25-10-2019 - |
Domanda
Symfony2 ritorna Nessun percorso trovato per "GET /" quando si tenta di eseguire http: //localhost/app_dev.php , ma questo URL funziona: http: //localhost/app_dev.php/hello/Symfony . Ho rimosso AcmeDemoBundle e sto cercando di eseguire un pacchetto ad esempio da un tutorial Symfony2. Cosa c'è di sbagliato?
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 / negozio / MyShopBundle / Resources / config / routing.yml:
ShopMyShopBundle_homepage:
pattern: /hello/{name}
defaults: { _controller: ShopMyShopBundle:Main:index }
requirements:
_method: GET
Soluzione
Il problema è che non si dispone di un percorso per /
. Cambia la tua definizione a questo:
ShopMyShopBundle_homepage:
pattern: /
defaults: { _controller: ShopMyShopBundle:Main:index }
requirements:
_method: GET
Altri suggerimenti
Le risposte di cui sopra sono sbagliate, rispettivamente, non sono rispondendo motivo per cui si riscontrino problemi visualizzando il prod-modalità demo-contenuti.
Ecco la risposta corretta: svuotare la "prod" -cache:
php app/console cache:clear --env prod
Questo lavoro per me:
cache:clear --env=prod
Uso symfony 2.3 con PHP 5.5 e utilizzando il costruito nel server con
app/console server:run
, che dovrebbe produrre qualcosa come:
Server running on http://127.0.0.1:8000
Quit the server with CONTROL-C.
http://127.0.0.1:8000/app_dev.php/app / example
questo dovrebbe dare il default, che si possono anche trovare il percorso di default visualizzando src / AppBundle / Controller / DefaultController.php
Prefix è il prefisso per l'URL routing. Se è pari a '/' significa non avrà alcun prefisso. Poi si è definito un percorso con il modello "dovrebbe iniziare con / ciao".
Per creare un percorso per '/' è necessario aggiungere queste linee nel vostro src / negozio / MyShopBundle / Resources / config / routing.yml:
ShopMyShopBundle_homepage:
pattern: /
defaults: { _controller: ShopMyShopBundle:Main:index }
avrei potuto essere unico che ha fatto questo errore, ma forse non così vi posto.
per le annotazioni nei commenti prima di un percorso deve iniziare con un slash due asterischi. Stavo facendo l'errore di una barra e un solo asterisco, che PhpStorm compilato automaticamente.
il mio percorso si presentava così:
/*
* @Route("/",name="homepage")
*/
public function indexAction(Request $request) {
return $this->render('default/index.html.twig');
}
quando avrebbe dovuto essere presente
/**
* @Route("/",name="homepage")
*/
public function indexAction(Request $request) {
return $this->render('default/base.html.twig');
}
Ho anche provato che l'errore, ho capito bene semplicemente aggiungendo / ciao / qualsiasi nome perché è percorso che ci deve essere un ciao / nome
Esempio: invece di mettere http: //localhost/app_dev.php
ha messo in questo modo così http: //localhost/name_of_your_project/web/app_dev.php / ciao / AI
verrà visualizzato Ciao Ai. Spero di rispondere alla tua domanda.