📦 plugin-client-redirects
Plugin Docusaurus pour générer les redirections côté client.
Ce plugin écrirera des pages HTML supplémentaires sur votre site statique, qui redirige l'utilisateur vers vos pages Docusaurus existantes avec JavaScript.
note
Ce plugin ne crée que des redirections pour la version de production.
caution
Il est préférable d'utiliser les redirections côté serveur chaque fois que cela est possible.
Avant d'utiliser ce plugin, vous devez vérifier si votre fournisseur d'hébergement n'offre pas cette fonctionnalité.
#
Installation- npm
- Yarn
npm install --save @docusaurus/plugin-client-redirects
yarn add @docusaurus/plugin-client-redirects
#
ConfigurationCas d'utilisation principal : vous avez /myDocusaurusPage
et vous souhaitez rediriger vers cette page à partir de /myDocusaurusPage.html
:
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { fromExtensions: ['html'], }, ], ],};
Deuxième cas d'utilisation : vous avez /myDocusaurusPage.html
et vous souhaitez rediriger vers cette page à partir de /myDocusaurusPage
.
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { toExtensions: ['html'], }, ], ],};
Pour une logique de redirection personnalisée, fournissez votre propre fonction createRedirects
.
Imaginons que vous changiez l'URL d'une page existante, vous voudrez peut-être vous assurer que l'ancienne URL fonctionne toujours :
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { redirects: [ { to: '/docs/newDocPath', // string from: ['/docs/oldDocPathFrom2019', '/docs/legacyDocPathFrom2016'], // string | string[] }, ], }, ], ],};
Il est possible d'utiliser une fonction pour créer les redirections pour chaque chemin existant :
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { createRedirects: function (existingPath) { if (existingPath === '/docs/newDocPath') { return ['/docs/oldDocPathFrom2019', '/docs/legacyDocPathFrom2016']; // string | string[] } }, }, ], ],};
Enfin, il est possible d'utiliser toutes les options en même temps :
module.exports = { plugins: [ [ '@docusaurus/plugin-client-redirects', { fromExtensions: ['html', 'htm'], toExtensions: ['exe', 'zip'], redirects: [ { to: '/docs/newDocPath', from: '/docs/oldDocPath', }, ], createRedirects: function (existingPath) { if (existingPath === '/docs/newDocPath2') { return ['/docs/oldDocPath2']; } }, }, ], ],};