Symfony 4.0 не работает

К точке:
— Я создал новый проект на Symfony 4.0: composer create-project symfony/skeleton sf4
— Страница приветствия работает
— Я хотел создать свою первую страницу с https://symfony.com/doc/current/page_creation.html
и я сделал именно то, что они говорят: создать контроллер и маршрут
— Страница приветствия изменила статус на: No route found for "GET /" <-Solved
— путь к новой странице не найден — Ошибка 404

Что я делаю неправильно? Это глупо

~ 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>'
);
}
}

~ Конфиг / routes.yaml

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

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

РЕДАКТИРОВАТЬ:
Домашняя страница работает — спасибо @Cerad

1

Решение

У меня такая же проблема. Домашняя страница работала, но любые другие URL генерируют 404, обслуживаемые apache и не вошедшие в Symfony.

Моей ошибкой была неправильная настройка виртуального хоста. Поскольку в общедоступном каталоге больше нет .htaccess, необходимо настроить перенаправление & переписать на своем виртуальном хосте.
Вот документация: https://symfony.com/doc/master/setup/web_server_configuration.html

5

Другие решения

введите описание изображения здесь

В приложениях Symfony 4 нет ни реального маршрута, ни контроллера с шаблоном приветствия, это всего лишь хитрость для улучшения первого опыта пользователя.

Приветственный ответ работает только для корневого пути / и после добавления маршрута или установки пакета, который добавляет один (например, TwigBundle), этот ответ исчезает, а также если режим отладки был деактивирован.

Даже, код состояния этого ответа все еще 404 (НЕ НАЙДЕНО).

1

Этот код является решением в Symfony 4.1:

composer require symfony/apache-pack

После ссылки можно использовать:

http://localhost/(name-project)/public/index.php/(name of controller)
0
По вопросам рекламы [email protected]