Gatsby 将盖茨比·佩尔马林克斯更改为非漂亮

Gatsby 将盖茨比·佩尔马林克斯更改为非漂亮,gatsby,permalinks,url-scheme,Gatsby,Permalinks,Url Scheme,我有一个旧的php网站,我想转移到盖茨比。但是,它使用以下永久链接结构: http://example.com/?qa=2/my-awesome-post 我使用的是盖茨比入门博客主题,但URL如下: http://example.com/my-awesome-post 由于SEO原因,能够调整永久链接结构是至关重要的。但是,如果我尝试仅更改文件夹结构,则会出现一个错误,即文件或文件夹名称中不允许使用“?”字符。有没有办法在盖茨比网站的url结构中包含特殊字符?请帮忙 > P>如果您从头开始

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

http://example.com/?qa=2/my-awesome-post
我使用的是盖茨比入门博客主题,但URL如下:

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

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

> P>如果您从头开始创建这些新页面,只需将新的<代码> .js>代码>文件放入<代码>页面文件夹中,您可以考虑在<代码> GATSBY节点> JS ./P>中改写<代码> OnCeCalpPix方法。 例如:

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' 
  })
}

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

路径是否始终采用
/?qa=2/my awesome post
格式。在
gatsby node.js
中使用
createPage
时,您可以很容易地调整路径,因为我添加问号时它不起作用(可能是因为它是受限符号)?只有当我在没有问号的情况下尝试时,它才起作用:
qa=2/我的精彩帖子
URL已正确更新,但单击时无法加载单个页面。是的。这是由于服务器和浏览器如何实现问号。我怀疑你对此能做些什么。我唯一想到的是在Nginx或任何其他web服务器中创建一个从旧URL到新URL的永久重定向。你知道我如何使用Gatsby进行URL重定向吗?我唯一想到的是肮脏,我不能真正推荐它,但它应该可以工作。在主index.js文件中,您可以设置一个js脚本来查找任何查询参数,然后相应地重定向。