Regex matching

By using regex matching, you can create infinite complex redirect rules.
Available from our Pro plan and up.

How to use

To enable a regex rule, add an exclamation mark (!) before your source URL.

!example.com/path/(.*)

This will tell the redirecting engine that the source's path contains a regex which should be matched against the incoming URL.

Example 1

You have developed a new website, and don't have a news page anymore. You wish to redirect all old news pages to a single URL called `https://new-website.com/news-is-removed`

You may define a regex rule like:

!example.com/news/(*.)

This will match all pages that start with `news/`, so you can redirect all paths to a single destination.

URLs that would match:
https://example.com/news/test-123
https://example.com/news/other-article/sub-page-as-well

URLs that wouldn't match:
https://example.com/other-page
https://example.com/news

Example 2

You have an old website that have paths that begin with `farming`, `machine` and `agriculture`. You then wish to redirect all paths that begin with `farming` or `machine`. To accomplish this, you can use a regex like stated below.

!example.com/[farming|machine]-.*

URLs that would match:
https://example.com/farming-page
https://example.com/machine-page/sub-path-as-well

URLs that wouldn't match:
https://example.com/agriculture-page
https://example.com/other-page

Capture groups

You may define capture groups in your regex to use in the destination. The captured group will be passed along to variables like `$1`, `$2` etc. (up to `$10`).

Example 1:

The following example is a simple capture group. We match all paths after the 'welcome/' path, and pass along that part to the destination via the variable `$1`

!example.com/welcome/(.*)/

Then, you may use the capture group's result with the `$1` variable:

https://destination.com/$1

Example 2:

The following example matches the URL if it starts with a valid year-month-day format, with a slug next to it. We then want to pass the date & slug to the new destination, but with a slash as a seperator.

!example.com/^(\d{4}-\d{2}-\d{2})?\/([\w-]+)$

URLs that would match:
https://example.com/2023-01-01/article-slug
https://example.com/2022-06-02/another-article

URLs that wouldn't match:
https://example.com/2023/article-slug
https://example.com/article-slug
https://example.com/20230101/article-slug
https://example.com/202301/article-slug
https://example.com/2023-01-01/article-slug/extra-slug

Then, you may use the two captured groups in the destination how you prefer to build up the new URL:

https://destination.com/news/$1-$2

The destination would be build up with the full date and a dash between the slug. Example: https://destination.com/news/2023-01-01-article-slug

Regex engine

Regexes are matched with the Go/RE2 engine. Reference material can be found here.

Testing

We recommend the following tool to match your regex against your path examples:
https://regex101.com(make sure you select the Golang flavor)

Closing

Do note that the examples above are only indicative examples. Regex matching is extremely powerful and can basically be useful for any path redirect.

More articles

Can’t find the answer you’re looking for?

E-mail us
support@redirect.pizza
Start a chat
Online 9:00 - 21:00 CEST
Phone
Available with Enterprise
Pricing Background
Domain redirects delivered hassle-free

Get started right away

  • Free plan
  • No creditcard required
Features

Everything
you need