Frage

Symfony2 gibt keine Route für "get /" zurück, wenn ich versuche zu rennen http: //localhost/app_dev.php, aber diese URL funktioniert: http: //localhost/app_dev.php/hello/symfony. Ich habe AcMedemobundle entfernt und versuche, ein Beispielpaket aus einem Symfony2 -Tutorial auszuführen. Was ist falsch ?

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/shop/myshopbundle/ressourcen/config/routing.yml:

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

Lösung

Das Problem ist, dass Sie keine Route für haben /. Ändern Sie Ihre Definition darauf:

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

Andere Tipps

Die oben genannten Antworten sind falsch, wenn Sie nicht beantwortet, warum Sie Probleme haben, den Demo-In-Intensischen-Produkt anzusehen.

Hier ist die richtige Antwort: Löschen Sie Ihren "Prod" -Cache:

php app/console cache:clear --env prod

Diese Arbeit für mich:

cache:clear --env=prod

Verwenden von Symfony 2.3 mit PHP 5.5 und mit dem integrierten Server mit Verwendung

app/console server:run

was so etwas ausgeben sollte:

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

dann geh zu http://127.0.0.1:8000/app_dev.php/app/example

Dies sollte Ihnen die Standardeinstellung geben, die Sie auch die Standardroute finden können, indem Sie SRC/Appbundle/Controller/DefaultController.php anzeigen

Präfix ist das Präfix für URL -Routing. Wenn es '/' gleich ist, bedeutet es kein Präfix. Dann haben Sie eine Route mit dem Muster definiert "Es sollte mit /Hallo" beginnen.

Um eine Route für '/' zu erstellen, müssen Sie diese Zeilen in Ihr SRC/Shop/MyShopBundle/Ressourcen/config/routing.yml hinzufügen:

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

Ich hätte nur einer sein können, der diesen Fehler gemacht hat, aber vielleicht werde ich nicht so posten.

das Format für Anmerkungen in den Kommentaren, bevor eine Route mit einem Schrägstrich beginnen muss und zwei Sternchen. Ich machte den Fehler eines Schrägstrichs und nur eines Sternchens, was Phpstorm automatisch vervollständigte.

Meine Route sah so aus:

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

Wenn es dies hätte sein sollen

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

Ich habe auch diesen Fehler ausprobiert, ich habe es richtig gemacht, indem ich nur/Hallo/einen Namen hinzugefügt habe, weil es einen Pfad ist, dass es einen Hallo/Namen geben muss

Beispiel: Anstatt nur zu setzen http: //localhost/app_dev.php

Setzen Sie es so aus http: //localhost/name_of_your_project/web/app_dev.php/hello/ai

Es wird Hallo Ai anzeigen. Ich hoffe, ich beantworte Ihre Frage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top