@24hr/redirect-matcher

Match URL with redirects from WP

Usage no npm install needed!

<script type="module">
  import 24hrRedirectMatcher from 'https://cdn.skypack.dev/@24hr/redirect-matcher';
</script>

README

WP redirect options

Wordpress plugin

The Wordpress plugin can be downloaded here. It will just create a new options page with some ACF fields and add new API endpoint. It will also register the options to our synk plugin.

Wordpress API endpoint: /json/api/general/redirects

NPM module

There is a NPM module that includes a helper function to match urls. This helper supports wildcard paths.

By passing the redirect options from Wordpress along with the request path it will return useful data. If no match it will return null.

Returned object (if match) contains the URL to redirect to, code to set as status code and headers that are recommended to use.

Koa example:

const { redirectMatcher } = require('@24hr/redirect-matcher');
app.use(async (ctx, next) => {
    const redirectOptions = await getRedirectOptionsSomehow(); // <-- This part is your responsibility

    const redirectData = redirectMatcher(redirectOptions, ctx.path);

    if (redirectData) {
        ctx.status = redirectData.code;
        ctx.set(redirectData.headers);
        ctx.redirect(redirectData.url);
    } else {
        await next();
    }
});