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",
}));