Drupal is a registered trademark of Dries Buytaert
drupal 10.6.12 Update released for Drupal core (10.6.12)! drupal 11.3.13 Update released for Drupal core (11.3.13)! drupal 10.6.11 Update released for Drupal core (10.6.11)! drupal 11.3.12 Update released for Drupal core (11.3.12)! drupal 11.2.14 Update released for Drupal core (11.2.14)! drupal 10.5.12 Update released for Drupal core (10.5.12)! cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)!

url_rewrite

No security coverage
View on drupal.org

Overview

Rewrites old URLs to new URLs in HTML output at render time. Any href attribute that matches a configured "old" path is replaced with the "new" path before the page is sent to the browser.

Use case

When changing URL structure across the site, links may still appear in many places (content body, link fields, views, templates, etc.). This module rewrites them in one place at response time so you don't have to update every occurrence.

Configuration

  • Configuration path: Admin → Configuration → System → URL Rewrite (/admin/config/system/url-rewrite)
  • Enable/disable: Turn rewriting on or off.
  • Skip admin: When enabled, no rewriting is done on paths under /admin.
  • URL mappings: The source of truth. Add From (old path) and To (new path) rows. Drupal uses these for rewriting at render time.
  • Generate JSON file at path (for other site): Optional. When set, saving the form writes a JSON file at this path (relative to Drupal root) with the same mappings. Share this file with WordPress so it can use the same rewrite rules.

Generated JSON format

When you set "Generate JSON file at path" and save, the module writes a file in this format:

{
  "mappings": [
    { "from": "/blog", "to": "/articles" },
    { "from": "/success-stories", "to": "/case-studies" }
  ]
}

WordPress can read this file and apply the same rewrite logic. Paths are matched by prefix: longest match wins (e.g. /blog before /articles).

  • Query strings and fragments are preserved.
  • Works for both absolute URLs (e.g. https://example.com/old-path) and relative URLs (/old-path).

Performance

  • Only runs on HTML responses.
  • Mappings from a JSON file are cached (invalidated when the file is updated).
  • A single pass over the response body replaces only href attribute values.

Activity

Total releases
1
First release
Jun 2026
Latest release
23 hours ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
1.0.0 Stable Jun 30, 2026