Regex parameters requirements are not considered to differentiate routes with the same path

Created on 25 October 2013, over 10 years ago
Updated 30 January 2023, over 1 year ago

Problem/Motivation

According to Symfony2 Routing documentation in http://symfony.com/doc/current/book/routing.html#adding-requirements, the same paths can be declared in different routes using regex requirements to set the matching conditions.

If we write a module declaring this routes in YAML:

my_module.zone:
  path: '/news/{zone}'
  defaults:
    _controller: '\Drupal\my_module\Controller\BasicController::newsByZone'
   zone: 'us'
  requirements:
    _access: 'TRUE'
    zone: 'eu|us'

my_module.news:
  path: '/news/{title}'
  defaults:
    _controller: '\Drupal\my_module\Controller\BasicController::newsByTitle'
  requirements:
    _access: 'TRUE'

The expected behavior when entering /news/eu or /news/us would be the response of newsByZone(), but for some reason I don't understand the response is always returned by newsByTitle even if we change the route declaration order. If am not doing something wrong I think this is a bug.

πŸ› Bug report
Status

Needs work

Version

10.1 ✨

Component
RoutingΒ  β†’

Last updated 1 day ago

Created by

πŸ‡ͺπŸ‡ΈSpain juanolalla

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • The Needs Review Queue Bot β†’ tested this issue. It either no longer applies to Drupal core, or fails the Drupal core commit checks. Therefore, this issue status is now "Needs work".

    Apart from a re-roll or rebase, this issue may need more work to address feedback in the issue or MR comments. To progress an issue, incorporate this feedback as part of the process of updating the issue. This helps other contributors to know what is outstanding.

    Consult the Drupal Contributor Guide β†’ to find step-by-step guides for working with issues.

Production build 0.69.0 2024