0

我有一个旧的 php 网站,我想转移到 Gatsby。但是,它使用以下永久链接结构:

http://example.com/?qa=2/my-awesome-post

我正在使用 Gatsby Starter Blog 主题,但是,网址如下:

http://example.com/my-awesome-post

由于 SEO 原因,能够调整永久链接结构至关重要。但是,如果我尝试仅更改文件夹结构,则会出现“?”错误。文件或文件夹名称中不允许使用字符。有没有办法在 Gatsby 网站的 url 结构中包含特殊字符?请帮忙!

4

1 回答 1

1

如果您只是通过在文件夹中创建新.js文件来从头开始创建这些页面,pages您可能会考虑覆盖onCreatePage.gatsby-node.js

例子:

exports.onCreatePage = ({ page, actions }) => {
  const { createPage, deletePage } = actions;

  // First delete the incoming page that was automatically created by Gatsby
  deletePage(page);

  // then create a new one with proper url
  return createPage({
    ...page,
    path: 'update-to-your-needs' 
  })
}

如果它们是动态创建的,例如从 markdown 文件中创建,您也可以覆盖它们的创建gatsby-node.js方式。

于 2020-03-27T00:05:22.287 回答