This module extends the Redirect module to support regex pattern matching in addition to exact path matching using the redirect entities.
Features
- Extends
RedirectRepository: TheRedirectRegexRepositoryextends theRedirectRepositoryclass - Service Override: Uses a service decorator to override the
redirect.repositoryservice - 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:
- Go to
/admin/config/search/redirect/add - Set the From field to:
your-pattern- Example:
user/\d+/profile
- Example:
- Set the To field to the redirect target
- Tick the Regular expression checkbox to enable regex redirects
- 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/profileanden/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
- Regex Redirect - Uses regexes with named captures
Supporting organizations:
Development and maintenance
Project information
- Project categories: Developer tools, Search engine optimization (SEO), Site structure
- Ecosystem: Redirect
50 sites report using this module
- Created by baikho on , updated
Stable releases for this project are covered by the security advisory policy.
There are currently no supported stable releases.
Releases
1.0.0-alpha8
released 27 August 2026
Works with Drupal: >=10.2
Install:
Development version: 1.x-dev updated 26 Aug 2026 at 10:00 UTC


