Как я могу перенаправить страницы в Astro?

У меня есть презентация по редиректам Как мне сделать этот редирект в Astro?

Я использую ssr на адаптере и узле Astro.

Например, моя презентация выглядит следующим образом.

      
    [
           {
              "id": 1,
              "source": "/blog/category/keyword/",
              "destination": "/article/category/keyword/",
              "permanent": true
            },
            {
              "id": 2,
              "source": "/features/pro/",
              "destination": "/features/",
              "permanent": true
            },
            {
              "id": 3,
              "source": "/blog/what-is-keyword/",
              "destination": "/article/what-is-keyword/",
              "permanent": true
            },
    ]

2 ответа

вы можете использовать промежуточное программное обеспечение, чтобы сделать это за вас

передав этот массив и проверив, является ли источник, вы можете перенаправить его в пункт назначения, но в astro этот пункт назначения должен быть доступен в каталоге страниц, если они не добавлены таким же образом, вы можете загрузить его после промежуточного программного обеспечения

этот образец поможет вам

      export const onRequest = async (context, next) => {
    const url = new URL(context.url);
    const path = url.pathname
    
    routes.forEach(route=>{
       // your logic to find the matched route 
       return redirect('/destination', 302);
    })

    return next();
};

если они не существуют в каталоге страниц и их необходимо загрузить

просто вам нужно загрузить их в код и вернуть ответ с этой страницей, и он будет возвращен

Вы можете создать и маршрут API и использоватьredirect()внутри него

Другие вопросы по тегам