Next JS 静态站点:将特定路由重定向到另一个站点?

Posted

技术标签:

【中文标题】Next JS 静态站点:将特定路由重定向到另一个站点?【英文标题】:Next JS Static Site: Redirect specific routes to another site? 【发布时间】:2022-01-18 23:20:16 【问题描述】:

我使用部署在云端的 Next JS 创建了一个静态站点。我希望通过更改基本路径将一些路由重定向到另一个站点(例如,如果路由是www.mysite.com/stuff,它将重定向到www.redirectedSite.com/stuff)。这可能吗?如果可以,我会用什么来设置它?

【问题讨论】:

这是否回答了您的问题:Next.js Redirect from / to another page?您可以使用redirects 这样做。 【参考方案1】:

getStaticProps 函数中,有一个返回重定向值的选项。这允许重定向到内部和外部资源。

您可以将下面的代码保存在pages/stuff.tsx 下。当向/stuff 发出请求时,它们将被重定向。

import  GetStaticProps  from 'next';

export const getStaticProps: GetStaticProps = async () => 
  return 
    redirect: 
      destination: 'http://www.redirectedsite.com/stuff',
      permanent: false,
    ,
  ;
;

const TestPage = (): JSX.Element => 
  return <div></div>;
;

export default TestPage;

Next JS Documentation on getStaticProps redirect

【讨论】:

这太棒了。非常感谢您找到这个!这解决了我的问题!

以上是关于Next JS 静态站点:将特定路由重定向到另一个站点?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google App Engine 将所有请求从一个域重定向到另一个域,但在 yaml 中保留静态路由规则

如何 301 将一个静态 url 重定向到另一个静态 url?

Next.js:在实现私有路由时,如何在重定向之前防止未经授权的路由/页面的闪烁?

Next.js 在 GraphQL 突变内重定向

Laravel 5.5登录后重定向到特定路由

将整个路由组重定向到另一个 url?