When a set of pages moves together, writing one redirect per page creates unnecessary work. A wildcard rule can express the common part of the move while exact rules handle the exceptions.
RedirectDuck's standard path patterns use a trailing *. The part it matches is available as $1 in the destination.
Move a path prefix
Suppose everything below an old blog moves into an articles directory:
Source: old.example.com/blog/*
Destination: https://example.com/articles/$1
The resulting mappings include:
| Old path | New URL |
|---|---|
| /blog/hello | https://example.com/articles/hello |
| /blog/guides/setup | https://example.com/articles/guides/setup |
| /blog/ | https://example.com/articles/ |
The matcher also accepts the bare /blog path for this pattern. Test that case explicitly if the destination distinguishes between directory roots and individual pages.
Add an exact exception
Perhaps one old article has been replaced by a page outside the new articles directory:
Source: old.example.com/blog/legacy-guide
Destination: https://example.com/getting-started
For standard path rules, an exact path takes priority over a wildcard prefix. A longer matching prefix takes priority over a shorter one, and a host-only rule is the fallback.
You do not have to move the exception above the wildcard in the list to make it win. Still, use the rule tester with the actual URLs to confirm the result of overlapping rules.
Understand path forwarding
A host-only source such as old.example.com can match requests across the domain. With Forward path enabled, a request for /pricing can be appended to the destination's base path.
Using $1 is a separate, explicit way to position the capture. RedirectDuck substitutes the placeholder when it is present; turning off Forward path does not turn off that substitution.
If every matched URL should reach one fixed page, remove $1 and disable Forward path. Otherwise, check that you have not unintentionally kept a suffix that the destination does not serve.
A path wildcard is not a DNS wildcard
A source ending in /blog/* matches paths. Matching subdomains uses the separate wildcard-subdomain option or a source beginning with *..
That setting does not create DNS records. The hostnames still need to reach the edge, and HTTPS must work for each hostname being visited.
Keep a small test matrix
Before relying on the rule, check a direct child path, a nested path, the prefix root, an exact exception and a URL with a query string. The tester checks configured mappings; an actual browser or HTTP request checks the live DNS and HTTPS path too.
For a larger move, combine this technique with the domain migration checklist.




