我有一个 gatsby 设置项目,正在尝试编写自定义重定向。createRedirect({from "...", to: "..."})
通过在我的页面上创建并按照建议使用元数据,我设法让这一切正常工作。
我的 .md 文件的 frontmatter 看起来像这样(显然是一个过于简单的例子):
---
title: My blog post
author: me
redirect_from: /resources/blogs/blog-123
---
File content of the blog text bla bla bla bla
所以我试图用这个查询来阅读:
graphql(`
{
allMarkdownRemark(limit: 1000) {
edges {
node {
id
fields {
slug // the filepath
realPath // a custom field that i actually use to URL
}
frontmatter {
title
author
redirect_from
}
}
}
}
}`)
所以这是完美的......在一个非常简单的条件下,那就是:我需要编写一个不是文件实际路径的路径。这个想法是重定向用户:
来自: www.mysite.com/resourecs/blog/blog-123
至: www.mysite.com/blog-123
但是,一旦我在redirect_from
frontmatter 的字段中输入真实的文件路径,我就会得到一个空字符串""
作为查询的结果。如果我写随机乱码,它会返回正确的字符串。
从那以后,我得出结论,这样做的原因是因为我正在编写这样的路径:
/resources/blogs/blog-123/
并且它会被评估。但是我不知道是什么评估它,如何评估它,或者我可以以某种方式停止它并检索字符串?