-
1.0.0
Pre-releaseAll checks were successfulCI / Lint + Static Analysis (push) Successful in 48sCI / Unit Tests (PHP 8.2) (push) Successful in 46sCI / Unit Tests (PHP 8.3) (push) Successful in 1m6sCI / Unit Tests (PHP 8.4) (push) Successful in 1m13sCI / Unit Tests (PHP 8.5) (push) Successful in 1m7sreleased this
2026-06-25 23:08:48 -07:00 | 16 commits to main since this releaseMulti-Domain Redux 1.0.0
First stable release. Multi-Domain Redux is a ground-up reimplementation of the
Multiple Domain plugin (originally by Gustavo Straube, later handed to goINPUT
and moved to the wordpress.org SVN). The original solved a real problem - serving
one WordPress install across several domains and rewriting emitted links so a
visitor stays on the domain they arrived on - but its published baseline targets
WordPress 4.0–5.2.4 and ships under GPLv2, and the request-handling it relies on
predates the trust-boundary and Tor-onion concerns this rewrite was built for.Rather than retrofit an aging codebase, the functionality was rebuilt from scratch
on a modern platform with security-first request handling. Multi-Domain Redux is
not backward-compatible with Multiple Domain - it shares no constant, option,
or shortcode names, and is distributed self-hosted, not via wordpress.org.What carries over from Multiple Domain
- Serve one WordPress install on multiple hostnames; rewrite every emitted URL to
the host the visitor arrived on, so navigation stays end-to-end on one domain. - Optional per-host base path to scope a host to a subset of URLs.
- Per-host language → SEO
<link rel="alternate" hreflang="...">tags.
What's new in the rewrite
- Modern platform baseline. PHP 8.2+ and WordPress 6.4+, with
declare(strict_types=1), typed properties, and PSR-4 autoloading.
(Multiple Domain's published baseline is WP 4.0 / tested to 5.2.4.) - GPL-3.0-or-later (up from GPLv2).
- Explicit host trust boundary.
X-Forwarded-Host/X-Forwarded-Protoare
honored only whenMULTI_DOMAIN_REDUX_TRUST_PROXYistrue; an unmatched
or spoofed Host falls back to the configured primary host instead of being
trusted. - Tor v3 onion support. Onion hosts always emit over
http, with a documented
nginx + trusted-proxy reverse-proxy recipe. RedirectGuardcoverswp_redirect,redirect_canonical, and
allowed_redirect_hosts, so login, post-save, and canonical redirects don't
bounce a visitor off the host (or off Tor) they came in on.[multi_domain_redux]shortcode - outputs the current resolved host.- Test suite (Brain Monkey unit + wp-env integration) and CI on PHP 8.2–8.5.
Requirements & performance
Multi-Domain Redux targets PHP 8.2+ and WordPress 6.4+.
Its per-request overhead is under a millisecond and statistically
indistinguishable from the plugin it replaces — page render time dominates,
not the plugin layer. Measured on a single wp-env install (PHP 8.5, 200
requests per cell, median time-to-last-byte over loopback with the domain
host forged):Configuration Front page /Single post /?p=1No multi-domain plugin 23.8 ms 27.5 ms Multi-Domain Redux 24.4 ms 27.8 ms Multiple Domain (legacy) 24.5 ms 27.9 ms Both plugins land within ~1 ms of running no plugin at all, and within ~0.1 ms
of each other — effectively native speed. If you're migrating from an older
install and the site feels snappier, that gain comes from running on a modern
PHP version, not from the plugin itself.Security hardening (this release)
- Hreflang reflection removed.
HreflangEmitteremits only the request path;
the attacker-controllable query string is no longer reflected into the
alternate-host<link>tags rendered on every front-end page. - Stricter host parsing.
HostHeader::normalize()rejects host candidates
containing@or/, so values likehttp://evil.comoruser:pass@host
can't collapse to a bogus hostname label.
Requirements
- WordPress 6.4+
- PHP 8.2+
Install
Download
multi-domain-redux.1.0.0.zipbelow and install via
Plugins → Add New → Upload Plugin, or extract intowp-content/plugins/.
Updates are served from this releases page; the plugin opts out of
wordpress.org update checks via itsUpdate URIheader.Migrating from Multiple Domain
There is no automatic migration. Multi-Domain Redux uses its own option and
constant names (multi_domain_redux_*,MULTI_DOMAIN_REDUX_*) and its own
shortcode, so it runs independently - deactivate Multiple Domain and re-enter
your hosts under Settings → Multi-Domain Redux.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Serve one WordPress install on multiple hostnames; rewrite every emitted URL to