Как изменить приоритет в Symfony3 routing.yml

У меня есть следующая общая маршрутизация в моем проекте symfony, как в (routing.yml):

appsite2:
    path:     /{req}/{var}
    defaults: {_controller: AppBundle:Default:index}

Однако он перезаписывает маршрутизацию api/doc как:

NelmioApiDocBundle:
    resource: "@NelmioApiDocBundle/Resources/config/routing.yml"
    prefix:   /api/doc

Итак, как я могу изменить первый маршрут и поставить исключение для {var}, что-то вроде: if({req}/{var} != '/api/doc')?

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


person Kareem Essawy    schedule 24.07.2017    source источник
comment
Можешь показать свой AppBundle:DefaultController?   -  person Imanali Mamadiev    schedule 24.07.2017
comment
Маршрутизация NelmioApiDocBundle определена в том же yaml? Я думаю, что система маршрутизации сработает, когда совпадет первым, поэтому вы можете попробовать этот блок над другим блоком в своем yaml.   -  person Doug    schedule 24.07.2017


Ответы (1)


Исправлено это, добавив следующее регулярное выражение, чтобы исключить слово «doc» следующим образом:

appsite2:
path:     /{req}/{var}
defaults: {_controller: AppBundle:Default:index}
requirements:
        var: '^((?!doc).)*$'
person Kareem Essawy    schedule 28.07.2017