symfony route Маршрут -- все адреса кроме (например кроме /api для SPA приложения) - requirements
Primary tabs
Возможен такой подход для заворачивания всех машрутов, кроме тех что начинаются с какого-то слова (в пример ниже это api), на главный шаблон с помощью аннотаций:
namespace App\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\Routing\Annotation\Route; class DefaultController extends Controller { /** * @Template("default/index.html.twig") * @Route("/{reactRouting}", name="index", requirements={"reactRouting"="^(?!api).+"}, defaults={"reactRouting": null}) */ public function index() { return []; } }
Единственый момент в symfony 4.3, пришлось писать не
name="index"
а:
name="main"
(ранее это был маршрут для главной страницы) возможно потому что в config/packages/security.yaml была сконфигурирована именно секция:
main: anonymous: true guard: authenticators: - App\Security\LoginFormAuthenticator
(точнее не проверяли)
Источник: https://stackoverflow.com/a/49475504
- Log in to post comments
- 1887 reads