Я создал новый проект Symfony 3.4, используя:
composer create-project symfony/skeleton my-project
После этого я добавил следующие компоненты:
composer require twig
composer require annotations
composer require maker
И создал Контроллер:
php bin/console make:controller
Я добавил действие с маршрутом "легальный". Вот DefaultController:
<?php
namespace App\Controller;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
/**
* @Route("/", name="homepage")
*/
public function index()
{
return $this->render('index.html.twig', [
'controller_name' => 'DefaultController',
]);
}
/**
* @Route("/legal", name="legal")
*/
public function legal()
{
return $this->render('legal.html.twig', []);
}
}
Файл config / routes.yaml:
#index:
# path: /
# defaults: { _controller: 'App\Controller\DefaultController::index' }
И config / routes / annotations.yaml:
controllers:
resource: ../../src/Controller/
type: annotation
Когда я захожу на домашнюю страницу, нет проблем, страница отображается. Но когда я пробую страницу / legal, у меня появляется 404:
Не найден - запрошенный URL / юридический адрес не найден на этом сервере.
php bin/console debug:router
показывает ожидаемое:
------------------ -------- -------- ------ --------------------------
Name Method Scheme Host Path
------------------ -------- -------- ------ --------------------------
homepage ANY ANY ANY /
legal ANY ANY ANY /legal
_twig_error_test ANY ANY ANY /_error/{code}.{_format}
------------------ -------- -------- ------ --------------------------
Я очистил кеш с помощью консольной команды и удалив содержимое каталога var / cache. Но все же 404.
Я новичок в 3.4. Любые идеи ? Спасибо...
/
маршрут работает? - person Antoine Galluet   schedule 09.03.2018/
работает. Я понял, что забыл.htaccess
, который не создается автоматически Symfony / Flex (см. Мой ответ). - person scandel   schedule 10.03.2018