Introduction
Redirects normally sit in the database until someone notices a 404 report. Extend Redirect catches broken ones automatically - on save, on page delete/hide and in bulk via the Scheduler.
Features
- Health check - every redirect target is verified, either by following it through a
frontend sub-request (
requestmode) or purely against thepages/sys_tables (redirect databasemode). Redirects whose target no longer resolves are disabled. - Automatic re-enabling ("healing") - a redirect the extension disabled itself is enabled again by the next check that finds its target working; redirects disabled by hand are never touched, see Lifecycle of a redirect.
- Canonical targets - page targets are rewritten to
t3://; chains of up to 10 redirects are flattened to the final page. This only tidies up working redirects.page?uid=... - Re-check on edit - changing a target re-enables and re-checks the redirect.
- Page delete/hide protection - redirects pointing to a deleted or hidden page are disabled with a logged reason.
- Broken-redirect filter in the Redirects module.
- Last checked column and filter in the Redirects module.
- Disable log - reason, source, target and timestamp of every automatic disabling.
- CSV import and export - semicolon-separated, with validation of hosts and duplicate source paths; an export can be edited and imported again.
- Email notification (optional) - a mail when a redirect is disabled, as one summary mail per run or one mail per redirect; off by default, see Email notification.
- Webhook and PSR-14 event - post disabled redirects to a chat or your own endpoint, or react to
Redirectin your own code.Disabled Event - Commands -
extendredirect:andcheckredirects extendredirect:, both schedulable.cleanuplog