如何将 / 重定向到 Next.js 配置中的 basePath 中?

use*_*822 7 javascript next.js

每次该用户进入时,/我都想重定向到basePath我已经设置的位置。

这是我的next.config.js

module.exports = {
  basePath: '/docs',
}
Run Code Online (Sandbox Code Playgroud)

所以每次我输入路径时/我想重定向到/docs.

这是我尝试过的。

module.exports = {
  basePath: '/docs',
  async rewrites() {
    return [
      {
        source: '/',
        destination: '/docs',
      },
    ];
  },
  async redirects() {
    return [
      {
        source: '/',
        destination: '/docs',
      },
    ];
  },
};
Run Code Online (Sandbox Code Playgroud)

问题就在于此rewrites,并且仅redirects与此相关basePath

例如

async redirects() {
        return [
          {
            source: '/test',
            destination: '/hello',
          },
        ];
      },
Run Code Online (Sandbox Code Playgroud)

我输入/docs/test它会重定向到/docs/hello.

但我/想去/docs

jul*_*ves 12

您可以使用basePath: false选项禁用和basePath的自动前缀。sourcedestination

module.exports = {
    basePath: '/docs',
    async redirects() {
        return [
            {
                source: '/',
                destination: '/docs',
                basePath: false,
                permanent: false
            }
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

这将正确地将/路径重定向到/docs.

rewrites如果您要使用它,这同样适用于 。