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
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top