redirect.pizza's matching options allow the ability to set-up complex redirect set-ups.
We'll first look in the database to lookup a redirect that matches the full URL. For example, a request for example.com/path?query-string=1 comes in. We'll search for that and if it exists we can be sure that the destination is the one defined on that redirect! If not, we'll continue down the line.
- Exact match (case sensitive) (example.com/PaTh?query-string=1)
- Exact match (case insensitive) (example.com/path?query-string=1)
- Path without query string (example.com/path)
- Without path (example.com)
If non of these conditions match, we cannot be sure where to redirect to and present a 404 page. We recommend always setting up a "root path" redirect so your users are always redirected somewhere. See Match not found
URI Forwarding = no preference on root match
If a request comes in without a path defined ("homepage"), we'll prefer the source first that has URI Forwarding disabled. This enables the following:
- Redirect 1: example.com/ -> new.com - URI Forwarding = yes
- Redirect 2: example.com/ -> new.com/new-homepage - URI Forwarding = no
If a request comes in for example.com ("homepage"), we'll redirect that request to new.com/new-homepage. Every other request will go to new.com/$PATH$ as defined on the incoming source.