2017-12-08 14 views
-1

Auf den Punkt gebracht:
- Ich habe neues Projekt auf symfony 4.0: composer create-project symfony/skeleton sf4
- Willkommen Seite arbeitet
- Ich wollte meine erste Seite mit https://symfony.com/doc/current/page_creation.html und ich habe genau das schaffen, was sie sagen:
Controller und Route erstellen - Willkommen Seite Status geändert zu: No route found for "GET /"< -Solved
- neue Seite Pfaddatei nicht finden kann - Fehler 404
Symfony 4.0 funktioniert nicht

Was mache ich falsch? Das ist albern

~ src/Controller/SecurityController.php

<?php 
namespace App\Controller; 

use Symfony\Component\HttpFoundation\Response; 

class SecurityController { 
    public function logowanie() { 
     return new Response(
      '<html><body>Logowanie</body></html>' 
     ); 
    } 
} 


~ config/routes.yaml

index: 
    path:/
    controller: App\Controller\MainController::index 

logowanie: 
    path: /logowanie 
    controller: App\Controller\SecurityController::logowanie 

EDIT:
Startseite Werke - Danke @Cerad

+2

S4 ist irgendwie hinterhältig. Standardmäßig sind keine Routen definiert und standardmäßig eine Startseite. Sobald Sie eine Route definiert haben, ist sie nicht mehr standardmäßig. Fing mich auch beim ersten Mal an, als ich es installierte. Machen Sie also die Fehlermeldung und fügen Sie eine Route für/sowie eine Controller-Aktion hinzu. Und off Thema, aber tun Sie sich selbst einen Gefallen und nennen Sie es SecurityController – Cerad

+0

@Cerad haben Sie eine Idee für das zweite Problem? 404 auf '/ logowanie' Pfad. Wenn wir der Dokumentation vertrauen, sollte es funktionieren. – Invictus

+1

bin/console debug: router und dann überprüfen Sie Ihre Rechtschreibung sehr sorgfältig. Ich habe Ihren Code kopiert/eingefügt und es funktioniert wie erwartet. Ich nehme an, Sie haben nicht mit services.yaml oder einer der anderen Konfigurationsdateien reingelegt. – Cerad

Antwort

3

Ich hatte das gleiche Problem. Die Homepage funktionierte, aber alle anderen URLs erzeugen einen 404, der von Apache und nicht von Symfony eingeloggt ist.

Mein Fehler war die Fehlkonfiguration des virtuellen Hosts. Da es im öffentlichen Verzeichnis kein .htaccess mehr gibt, müssen Sie die Umleitung & in Ihrem virtuellen Host neu schreiben. Hier ist die Dokumentation:

+0

Nach dem Installieren von Apache-Pack beginnt alles zu arbeiten :) Danke – Invictus

+0

Warum nicht .htaccess wie Sie es brauchen? Nicht jeder kann die Einstellungen für den virtuellen Host konfigurieren –

2

enter image description here

Es gibt keinen wirklichen Weg noch Controller mit Begrüßungs Vorlage auf Symfony 4-Anwendungen, es ist nur ein Trick, um die erste Erfahrung des Benutzers zu verbessern.

Die Welcome Response funktioniert nur für den Root-Pfad / und wenn eine Route hinzugefügt oder ein Bundle installiert wurde, das einen hinzufügt (z. B. TwigBundle), verschwindet diese Antwort, wenn der Debug-Modus deaktiviert wurde.

Sogar der Statuscode dieser Antwort ist immer noch 404 (nicht gefunden).

Verwandte Themen