Измените Gatsby Постоянные ссылки на Non Pretty - PullRequest
0 голосов
/ 27 марта 2020

У меня есть старый php веб-сайт, который я хочу перенести в Гэтсби. Тем не менее, он использует следующую структуру постоянных ссылок:

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

Я использую тему блога Gatsby Starter Blog, однако URL-адреса там следующие:

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

Это крайне важно, чтобы быть возможность настроить структуру постоянных ссылок по причинам SEO. Однако, если я пытаюсь просто изменить структуру папок, возникает ошибка, которая "?" символ не допускается в имени файла или папки. Есть ли способ включить специальный символ в структуру URL-адреса веб-сайта Gatsby? Пожалуйста, помогите!

1 Ответ

1 голос
/ 27 марта 2020

Если вы создаете эти страницы с нуля, просто создав новый файл .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' 
  })
}

Если они создаются динамически, например, из файлов уценки, вы также можете перезаписать, как они создаются в gatsby-node.js.

...