Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

This module enhances the Redirect module by allowing you to create redirects using regular expressions instead of just exact path matching. This enables more flexible redirection rules, such as pointing old blog post URLs to an archive page or redirecting user profile URLs. Regex redirects are identified by source paths starting with "regex:".

This module extends the Redirect module to support regex pattern matching in addition to exact path matching using the redirect entities.

Features

  • Extends RedirectRepository: The RedirectRegexRepository extends the RedirectRepository class
  • Service Override: Uses a service decorator to override the redirect.repository service
  • Convention-Based: Regex redirects are identified by source paths starting with regex:
  • Backward Compatibility: All existing redirect functionality continues to work unchanged
  • Compatible with GraphQL through the Redirect module

Examples

Source Path Redirect Target Description blog/\d+/.* /blog/archive Redirect old blog URLs to archive user/\d+/profile /user/profile Redirect user profile URLs page/old/([0-9a-z]+) /page/new-page Redirect old page URLs with alphanumeric IDs legacy/(\d+) /migrated/$1 Redirect legacy URLs to an equivalent modern URL, substituting the ID legacy/(?'id'\d+) /migrated/$id Redirect legacy URLs to an equivalent modern URL, substituting the ID through its named reference

Query:

query MyQuery {
  route(path: "/user/123/profile") {
    ... on RouteRedirect {
      __typename
      internal
      redirect
      status
      url
    }
  }
}

Response:

{
  "data": {
    "route": {
      "__typename": "RouteRedirect",
      "internal": true,
      "redirect": true,
      "status": 301,
      "url": "/node/1"
    }
  }
}

Creating Regex Redirects

To create a regex redirect:

  1. Go to /admin/config/search/redirect/add
  2. Set the From field to: your-pattern
    • Example: user/\d+/profile
  3. Set the To field to the redirect target
  4. Tick the Regular expression checkbox to enable regex redirects
  5. Save the redirect

Important Notes:

  • Do NOT include a leading slash in the regex pattern (e.g., use user/\d+/profile, not /user/\d+/profile)
  • The redirect system automatically strips leading slashes before matching
  • For redirects from existing routes, enable "Allow redirects from aliases" in redirect settings
  • Multilingual Support: Patterns are tested against both the current path and the path with language prefix (e.g., user/123/profile and en/user/123/profile)
  • Patterns are matched against the entire path, and is case-insensitive.
  • Internally, the Redirect source will have a regex: prefix.

Dependencies

  • Redirect module (>=1.12) — provides the redirect entities and admin interface

Similar projects

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
9
Tracked since
Sep 2025
Latest release
4 days ago
Releases (12 mo)
9 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.0.0-alpha8 Pre-release 10–11 Aug 27, 2026
1.0.0-alpha7 Pre-release 10–11 Jul 2, 2026
1.0.0-alpha6 Pre-release 10–11 May 27, 2026
1.0.0-alpha5 Pre-release 10–11 Sep 25, 2025
1.0.0-alpha4 Pre-release 10–11 Sep 24, 2025
1.0.0-alpha3 Pre-release 10–11 Sep 24, 2025
1.0.0-alpha2 Pre-release 10–11 Sep 24, 2025
1.0.0-alpha1 Pre-release 10–11 Sep 24, 2025
1.x-dev Dev 10–11 Sep 24, 2025