Задать вопрос
Quber
@Quber
PHP Team lead

Почему Symfony 2 не отрабатывает регулярное выражение в роутере/маршруте?

Есть регулярное выражение, которое должно означать "всё, исключая admin и api":
^(?!.*(admin|api)$).*

# routing.yml
homepage:
    path: /
    host: "{slug}.site.ru"
    defaults:
        _controller: AcmeDemoBundle:Main:homepage
    requirements:
        slug: ^(?!.*(admin|api)$).*

В адресной строке ввожу admin.site.ru выдаёт 100% совпадение по этому маршруту. В slug прилетает 'admin' - 100%

Здесь www.rubular.com проверял регулярное выражение на правильность. Выдаёт нет совпадений (так и должно). А Symfony почему то упорно выдаёт 100% совпадение метода, как будто игнорирует регулярное выражение.

В чём сила, брат? Что я делаю не так?

Спасибо.

==============================================
Документация по маршрутам
Symfony 2.5.12
==============================================
  • Вопрос задан
  • 216 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Quber
@Quber Автор вопроса
PHP Team lead
Не правильно было составлено регулярное выражение.
Это правильно:
^(?!.*(admin|api)).*
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы