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' below.
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.
Match not found
What happens when a redirect comes in, but a redirect cannot be found?
Path not found
Let's say we have the following redirects set-up:
https://example.com/ -> https://new-domain.com
https://example.com/contact -> https://new-domain.com/contact-us
Example 1: The user lands on the source ("https://example.com/contact"). The user can be correctly redirected to the destination!
Example 2: Let's say the user lands on "https://example.com/old-contact-page". In this case, we don't have an exact path match. redirect.pizza moves to 1 lower condition, and is looking to see if there is a redirect set-up for "https://example.com/". We then redirect the user to "https://new-domain.com". Due to this behavior, we always recommend setting up a "root path redirect" when using paths in your redirect. This is recommended in the interface automatically:
Because we always fall back on the root path (if this is defined), your visitors will not be presented with a 404 page.
Due to this, we don't see the value of adding a "custom 404 page". Let us know if you have a use-case for this, we would always be happy to reconsider our train of thought.
Hostname not found
When the hostname is not found, i.e. not set-up in redirect.pizza, we do not know where to redirect the request to. In this case, we're forced to serve a "404 not found".
Want to customize the branding on this error? A Dedicated IP can be utilized. See our Dedicated IP article for more info.