gatsby-plugin-client-side-redirect
Generates client side redirect html files for redirecting on any static file host like s3 or netlify.
It uses window.location.href = url
for redirection
Install
npm install --save gatsby-plugin-client-side-redirect
or
yarn add gatsby-plugin-client-side-redirect
How to use
plugins: [
`gatsby-plugin-client-side-redirect`
];
Redirects
You can create redirects using the createRedirect
action.
An example:
createRedirect({ fromPath: '/old-url', toPath: '/new-url', isPermanent: true });
This will generate the following html files:
/old-url/index.html
:
<script>window.location.href="/new-url/"</script>
You can use it using the node api provided by gatsby, for an example
Let's take createPages
In you gatsby-node.js file, write following
exports.createPages = ({ graphql, actions }) => {
const {createRedirect} = actions
createRedirect({ fromPath: '/old-url', toPath: '/new-url', isPermanent: true });
}
Above approach is kind of hard code one, let's have a dynamic approach.
Below code is just for understanding and use your schema accordingly
exports.createPages = async ({ graphql, actions }) => {
const {createRedirect} = actions
let response = await graphql(`
query redirects {
collectionName {
old_url
new_url
}
}`)
let data = response.data.collectionName
}