Redirect Module 🔀 No more cumbersome redirects!

📖 Release Notes
Features
Redirecting URLs is an often discussed topic, especially when it comes to
SEO. Previously it was hard to create a "real" redirect without performance
loss or incorrect handling. But this time is over!
With the Redirect Module setting up redirects will become easier than ever before!
Setup
- Add
@nuxtjs/redirect-module
dependency using yarn or npm to your project
- Add
@nuxtjs/redirect-module
to modules
section of nuxt.config.js
- Configure it:
Inline options
{
modules: [
['@nuxtjs/redirect-module', [ ]],
]
}
Dedicated option array
{
modules: [
'@nuxtjs/redirect-module'
],
redirect: [
]
}
Usage
Simply add the links you want to redirect as objects to the module option array:
redirect: [
{ from: '^/myoldurl', to: '/mynewurl' }
]
You can set up a custom status code as well. By default, it's 302!
redirect: [
{ from: '^/myoldurl', to: '/mynewurl', statusCode: 301 }
]
As you may have already noticed, we are leveraging the benefits of
Regular Expressions. Hence, you can fully customize your redirects.
redirect: [
{ from: '^/myoldurl/(.*)$', to: '/comeallhere', }
{ from: '^/anotherold/(.*)$', to: '/new/$1', }
]
Furthermoer you can use a function to create your to
url as well :+1:
The from
rule and the req
of the middleware will be provided as arguments.
The function can also be async!
redirect: [
{
from: '^/someUrlHere/(.*)$',
to: (from, req) => {
const param = req.url.match(/functionAsync\/(.*)$/)[1]
return `/posts/${param}`
}
}
]
And if you really need more power... okay! You can also use a factory function
to generate your redirects:
redirect: async () => {
const someThings = await axios.get("/myApi")
return someThings.map(coolTransformFunction)
}
ATTENTION: The factory function must return an array with redirect
objects (as seen above).
Development
- Clone this repository
- Install dependencies using
yarn install
or npm install
- Start development server using
npm run dev
License
MIT License
Copyright (c) Alexander Lichter npm@lichter.io