Redirects

用于创建从一个页面到另一个页面的重定向

配置参数

output html json netlify vercel function

The redirects output format

Default:
"html"
defaultStatus 301 302 307 308

The default status code to use

Default:
301

描述

这个插件允许创建从一个页面到另一个页面的重定向。它可以输出 Netlify 和 Vercel 配置文件,以及带有 http-equiv="refresh" meta 标签的 JSON 和 HTML 页面。

安装

为了使用这个插件,请将其导入到你的 _config.ts 文件中:

import lume from "lume/mod.ts";
import redirects from "lume/plugins/redirects.ts";

const site = lume();

site.use(redirects());

export default site;

使用

假设你的站点中有以下页面:

---
url: /articles/hello/
---

在某个时候,你决定将 URL 更改为 /hello/。所有指向 /articles/hello/ 的 URL 都将失效,并且 SEO 排名会下降。为了避免这种情况,你可以创建一个从旧 URL 到新 URL 的重定向,这样两个链接都能正常工作。你只需要创建 oldUrl 变量,并设置为之前的 URL:

---
url: /hello/
oldUrl: /articles/hello/
---

使用数组可以指定多个旧 URL:

---
url: /hello/
oldUrl:
  - /articles/hello/
  - /articles/older-hello/
---

该插件将自动生成从旧页面到新页面的重定向。有 4 种不同的输出方法:

  • html: 这是默认值。它为每个旧 URL 创建一个 HTML 页面,其中包含 <meta http-equiv="refresh" content="0; url="..."> 标签。此方法不需要任何服务器配置。
  • json: 用于创建 _redirects.json JSON 文件,其中包含所有重定向,与 redirects 中间件兼容,该中间件在 Deno Deploy 上工作。
  • netlify: 用于创建(或更新) _redirects 文件,与 Netlify 兼容
  • vercel: 用于创建(或更新) vercel.json 文件,其中包含所有重定向

示例:

site.use(redirects({
  output: "netlify",
}));