重定向来自 NextJS 子域的所有流量

时间:2021-04-20 18:40:02

标签: next.js vercel

我想通过一个子域将所有流量重定向到我的定价页面到我的主页。我不知道如何在 has 值中添加通配符。

此语法不起作用:

// next.config.js
module.exports = {
  target: 'serverless',
  async redirects() {
    return [
        {
          source: '/pricing',
          has: [
            {
              type: 'host',
              value: '*.*.*',
            },
          ],
          permanent: false,
          destination: 'https://example.com/'
        }
      ]
  },
}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Vercel 支持帮助我找到了解决方案。我需要更新值中的正则表达式。

// next.config.js
module.exports = {
  target: 'serverless',
  async redirects() {
    return [
        {
          source: '/pricing',
          has: [
            {
              type: 'host',
              value: '.*\\..*\\..*'
            },
          ],
          permanent: false,
          destination: 'https://example.com/'
        }
      ]
  },
}

答案 1 :(得分:0)

如果您想重定向子域,您可以在该项目上添加重定向。如果您希望子域的内容(例如 pricing.example.com)显示在位于 /pricing不同项目中,您可以使用重写。

module.exports = {
  async rewrites() {
    return [
      {
        source: '/pricing',
        destination: 'https://pricing.example.com'
      },
    ]
  },
}