Lightweight, No database tables and no entity system overhead. Rules are stored in a single config object; hit counters use Drupal State. A single Symfony EventSubscriber fires on every request with minimal overhead.

The module detects whether the incoming request is a direct browser visit or an AJAX call (e.g., Drupal dialog or modal popup) and only redirects browser visits. AJAX requests always pass through unchanged, ensuring modals and dialogs continue to work perfectly.

Rules are stored as a single config object loaded into memory on every request, and matched by a linear scan. This makes the module fast and dependency-free for small rule sets

If you need to manage thousands of URLs (e.g., a large site migration), consider the Redirect contrib module which stores rules in an indexed database table.

Feature This Module Redirect Rabbit Hole
Storage Config API (memory) DB table (indexed) DB (entity)
Scale 50–500 rules Tens of thousands N/A
AJAX / modal passthrough Yes No No
Redirects valid Drupal routes Yes No (warns/blocks) No
Works on any path Yes Yes No (entity types only)
Wildcard prefix matching Yes (/solutions/*) No No
Query string matching Yes (/path?page=13) No No
Query string passthrough Yes No No
Role-based exclusions Yes No No
Hit counter per rule Yes No No
Path test tool Yes No No
Loop / chain detection Yes Partial No
CSV import / export Yes No No
Per-rule enable / disable Yes No No
Multilingual prefix support Yes (auto-detected) Partial Partial
External URL destinations No Yes No
Redirect 404 tracking No Yes (submodule) No
Backend UI configuration Yes Yes Yes
No database table required Yes No No

When to use this module

  • You have fewer than 300–500 rules
  • You need AJAX / modal passthrough (e.g., webforms embedded in dialogs)
  • You need to redirect valid Drupal routes that the Redirect module refuses to handle
  • You need wildcard, query string matching, or role-based exclusions
  • You want a lightweight solution with no extra contrib dependency
  • Drupal 9, 10, 11, or 12
  • drupal:user module (for role management in the admin UI)
  • No additional contrib modules required
Supporting organizations: 

Project information

  • caution Minimally maintained
    Maintainers monitor issues, but fast responses are not guaranteed.
  • caution Maintenance fixes only
    Considered feature-complete by its maintainers.
  • Project categories: Search engine optimization (SEO)
  • Created by thirstysix on , updated
  • shieldStable releases for this project are covered by the security advisory policy.
    Look for the shield icon below.

Releases